#!/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 }