Files
server-backup/nathan.sh
T

50 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
USER_CONTAINERS="homeassistant-pod codeserver jellyfin pgadmin nextcloud-pod calibre nexus git-pod caddy.socket caddy smtp-relay roonserver"
ROOT_CONTAINERS=
DOCKER_ROOT=/var/docker
CONTAINERS_ROOT=/var/containers
BACKUP_TARGET=$DOCKER_ROOT/tmp
NAS_TARGET="$NAS_ROOT/daily/$HOST_NAME/backup.$DAY"
backup_daily1() {
BACKUP_SOURCE="/var"
BACKUP_EXCLUDE_DIRS=(docker)
}
backup_daily2() {
BACKUP_SOURCE="/var/docker"
BACKUP_EXCLUDE_DIRS=(vol tmp)
}
backup_daily3() {
BACKUP_SOURCE="/var/docker/vol"
BACKUP_EXCLUDE_DIRS=()
}
before_backup() {
let local rc=0
#dump_mariadb $DOCKER_ROOT/dump/mysql
#let rc=rc+$?
dump_postgresql ncd_pg $CONTAINERS_ROOT/dump/nextcloud
let rc=rc+$?
dump_postgresql gitea_pg $CONTAINERS_ROOT/dump/gitea
let rc=rc+$?
if [ $rc -gt 0 ]; then
return 1
fi
stop_containers
return $?
}
after_backup() {
let local rc=0
start_containers
let rc=rc+$?
copy_to_nas "$BACKUP_TARGET" "$NAS_TARGET"
let rc=rc+$?
return $rc
}