auto-backup-Mimik steht
This commit is contained in:
1 parent
1fcdb5669a
commit
22d9442b42
17 files changed
+223
-738
No files matched your search
@@ -1,51 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# TODO: cmd line handling
|
||||
# fn für div. Aktionen (gemeinsame?)
|
||||
|
||||
|
||||
NAS_ROOT=/var/srv/nas/backups
|
||||
BACKUP_ROOT=/var/docker/tmp
|
||||
NAS_TARGET="$NAS_ROOT/daily/$HOST_NAME/backup.$DAY"
|
||||
|
||||
backup_data() {
|
||||
TARGET_DIR="$BACKUP_ROOT/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
|
||||
#
|
||||
|
||||
NAS_ROOT=/var/srv/nas/backups
|
||||
|
||||
LOG_FILE="$NAS_ROOT/log/$HOST_NAME-backup.log"
|
||||
|
||||
log INFO "*** *** Begin nathan server backup"
|
||||
delete_dir "$TARGET_DIR"
|
||||
check_directory "$TARGET_DIR"
|
||||
|
||||
# TODO: docker down
|
||||
|
||||
backup_all_dirs "/var" "$TARGET_DIR" docker
|
||||
backup_all_dirs "/var/docker" "$TARGET_DIR" vol tmp
|
||||
backup_all_dirs "/var/docker/vol" "$TARGET_DIR"
|
||||
|
||||
# TODO: docker up
|
||||
|
||||
# TODO: copy backup files to NAS
|
||||
|
||||
log INFO "*** End of nathan server backup"
|
||||
list_archives $BACKUP_ROOT
|
||||
backup_daily1() {
|
||||
BACKUP_SOURCE="/var"
|
||||
BACKUP_TARGET="$BACKUP_ROOT/var"
|
||||
BACKUP_EXCLUDE_DIRS=(docker)
|
||||
}
|
||||
# TODO: restore fn
|
||||
|
||||
backup_daily2() {
|
||||
BACKUP_SOURCE="/var/docker"
|
||||
BACKUP_TARGET="$BACKUP_ROOT/docker"
|
||||
BACKUP_EXCLUDE_DIRS=(vol tmp)
|
||||
}
|
||||
|
||||
while :; do
|
||||
case $1 in
|
||||
--daily)
|
||||
backup_data
|
||||
break
|
||||
;;
|
||||
--restore)
|
||||
# TODO
|
||||
break
|
||||
;;
|
||||
*) # Default case: No more options, so break out of the loop.
|
||||
break
|
||||
esac
|
||||
backup_daily3() {
|
||||
BACKUP_SOURCE="/var/docker/vol"
|
||||
BACKUP_TARGET="$BACKUP_ROOT/vol"
|
||||
BACKUP_EXCLUDE_DIRS=()
|
||||
}
|
||||
|
||||
shift
|
||||
done
|
||||
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
|
||||
}
|
||||
Reference in new issue
Block a user