Vorläufige Aufteilung auf einzelne Scripts
This commit is contained in:
1 parent
0c78fbaa4f
commit
1fcdb5669a
7 files changed
+541
No files matched your search
Executable
+96
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/eval bash
|
||||
|
||||
# TODO: cmd line handling
|
||||
# fn für div. Aktionen (gemeinsame?)
|
||||
|
||||
NAS_ROOT=/volume1/nfs/backups
|
||||
|
||||
backup_media() {
|
||||
TARGET_DIR="$NAS_ROOT/weekly/$HOST_NAME"
|
||||
|
||||
LOG_FILE="$NAS_ROOT/log/$HOST_NAME-backup-media.log"
|
||||
|
||||
log INFO "*** *** Begin NAS backup (media/books, media/music)"
|
||||
|
||||
EXCLUDE_DIRS=("@eaDir" "Temporary Items" "lost+found" serien tmp video "video.archive")
|
||||
check_directory $TARGET_DIR
|
||||
# media/books media/music
|
||||
backup_all_dirs "/volume1/media" "$TARGET_DIR" "${EXCLUDE_DIRS[@]}"
|
||||
|
||||
log INFO "*** End of NAS backup"
|
||||
list_archives $TARGET_DIR
|
||||
|
||||
}
|
||||
|
||||
backup_data() {
|
||||
|
||||
TARGET_DIR="$NAS_ROOT/daily/$HOST_NAME/backup.$DAY"
|
||||
|
||||
LOG_FILE="$NAS_ROOT/log/$HOST_NAME-backup.log"
|
||||
|
||||
log INFO "*** *** Begin NAS backup (data, nfs)"
|
||||
EXCLUDE_DIRS=("@eaDir" "Temporary Items" "lost+found")
|
||||
delete_dir $TARGET_DIR # bei Fehler werden die Dateien hoffentlich überschrieben
|
||||
check_directory $TARGET_DIR
|
||||
# data
|
||||
backup_all_dirs "/volume1/data" "$TARGET_DIR" "${EXCLUDE_DIRS[@]}"
|
||||
|
||||
EXCLUDE_DIRS=("@eaDir" "Temporary Items" "lost+found" backups)
|
||||
# nfs
|
||||
backup_all_dirs "/volume1/nfs" "$TARGET_DIR" "${EXCLUDE_DIRS[@]}"
|
||||
|
||||
log INFO "*** End of NAS backup"
|
||||
list_archives $TARGET_DIR
|
||||
}
|
||||
|
||||
# TODO: restore fn
|
||||
|
||||
|
||||
##
|
||||
# auto backup handling
|
||||
#
|
||||
# hostname-scripte setzen vars und definieren Funktionen backup_daily1, 2, usw. und backup_weekly1, 2, usw.
|
||||
# in den Funktionen werden die vars für den einzelnen backuü gesetzt (target, excludes, usw.)
|
||||
# im main-script wird dann dass hostname-script gesourced und in einer Schleife werden die
|
||||
# entsprechenden backup_*-Funktionen aufgerufen
|
||||
#
|
||||
# count=1
|
||||
# while [ $(isFunction backup_daily$count) ]; do
|
||||
# backup_daily$count # setzt die nötigen vars für den backup
|
||||
# do_backup "daily"
|
||||
# let "count += 1"
|
||||
# done
|
||||
#
|
||||
|
||||
while :; do
|
||||
case $1 in
|
||||
--daily)
|
||||
backup_data
|
||||
break
|
||||
;;
|
||||
--weekly)
|
||||
backup_media
|
||||
break
|
||||
;;
|
||||
-l|--list)
|
||||
list_archives "$NAS_ROOT"
|
||||
break;
|
||||
;;
|
||||
-c|--content)
|
||||
if [ "$2" ]; then
|
||||
list_archive_content "$NAS_ROOT" "$2"
|
||||
else
|
||||
echo 'ERROR: "--content" requires a non-empty option argument.'
|
||||
fi
|
||||
break
|
||||
;;
|
||||
--restore)
|
||||
# TODO
|
||||
break
|
||||
;;
|
||||
*) # Default case: No more options, so break out of the loop.
|
||||
break
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
||||
Reference in new issue
Block a user