50 lines
1.1 KiB
Bash
Executable File
50 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
NAS_ROOT=/var/srv/nas/backups
|
|
BACKUP_ROOT=/var/docker/tmp
|
|
NAS_TARGET="$NAS_ROOT/daily/$HOST_NAME/backup.$DAY"
|
|
|
|
#
|
|
# ACHTUNG: BACKUP_TARGET wird für jeden Lauf _daily1, 2, usw. geköscht,
|
|
# es muss sich also für alle _daily?, bzw. _weekly? unterscheiden
|
|
#
|
|
|
|
backup_daily1() {
|
|
BACKUP_SOURCE="/var"
|
|
BACKUP_TARGET="$BACKUP_ROOT/var"
|
|
BACKUP_EXCLUDE_DIRS=(docker)
|
|
}
|
|
|
|
backup_daily2() {
|
|
BACKUP_SOURCE="/var/docker"
|
|
BACKUP_TARGET="$BACKUP_ROOT/docker"
|
|
BACKUP_EXCLUDE_DIRS=(vol tmp)
|
|
}
|
|
|
|
backup_daily3() {
|
|
BACKUP_SOURCE="/var/docker/vol"
|
|
BACKUP_TARGET="$BACKUP_ROOT/vol"
|
|
BACKUP_EXCLUDE_DIRS=()
|
|
}
|
|
|
|
copy_to_nas() {
|
|
local dir
|
|
# einzelne backups iin einem Verzeichnis sammeln
|
|
for dir in $(iterate_dirs_in "$BACKUP_ROOT" "$@"); do
|
|
sudo mv "$BACKUP_ROOT/$dir/*" .. && rmdir "$BACKUP_ROOT/$dir"
|
|
done
|
|
# ins NAS-Verzeichnis verschieben
|
|
delete_dir "$NAS_TARGET"
|
|
check_dir "$NAS_TARGET"
|
|
sudo mv "$BACKUP_ROOT/*" "$NAS_TARGET"
|
|
}
|
|
|
|
before_backup() {
|
|
run_docker down
|
|
}
|
|
|
|
after_backup() {
|
|
run_docker up -d
|
|
copy_to_nas
|
|
}
|