Files
jellyfin-deployment/backup.sh
T

23 lines
840 B
Bash
Executable File

#!/bin/sh
set -eu
project_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
expected_context=kubernetes-admin@kubernetes
context=$(kubectl config current-context)
if [ "${context}" != "${expected_context}" ]; then
echo "Expected Kubernetes context ${expected_context}, found ${context}." >&2
exit 1
fi
kubectl --namespace jellyfin scale deployment/jellyfin --replicas=0
kubectl --namespace jellyfin wait --for=delete pod \
--selector=app.kubernetes.io/name=jellyfin,app.kubernetes.io/component=server \
--timeout=10m
kubectl apply --dry-run=server --filename "${project_dir}/backup-job.yaml"
kubectl apply --filename "${project_dir}/backup-job.yaml"
kubectl --namespace jellyfin wait --for=condition=complete \
job/jellyfin-cold-backup-pre-12-2 --timeout=12h
kubectl --namespace jellyfin logs job/jellyfin-cold-backup-pre-12-2