52 lines
1.0 KiB
Bash
Executable File
52 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# TODO: cmd line handling
|
|
# fn für div. Aktionen (gemeinsame?)
|
|
|
|
|
|
BACKUP_ROOT=/var/docker/tmp
|
|
|
|
backup_data() {
|
|
TARGET_DIR="$BACKUP_ROOT/backup.$DAY"
|
|
|
|
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
|
|
}
|
|
# TODO: restore fn
|
|
|
|
|
|
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
|
|
|
|
shift
|
|
done
|