auto-backup-Mimik steht

This commit is contained in:
Hartmut Bauer committed 2025-03-22 00:36:45 +01:00
1 parent 1fcdb5669a
commit 22d9442b42
17 files changed
+223 -738

No files matched your search

+40 -1
View File
@@ -5,6 +5,14 @@ PASSPHRASE=1234567890
EXT=tgz.gpg
LIST_EXT=txt
# docker compose ausführen
#
# $1 ff. - compose parameter, z.B. up -d
#
run_docker() {
/usr/bin/docker compose -f /var/docker/run/docker-compose.yml --ansi never $@
}
# check if function $1 exists
#
# returns true/false
@@ -105,10 +113,10 @@ backup_file_prefix() {
backup_all_dirs() {
local root=$1
local target=$2
shift 2
local prefix=$(backup_file_prefix $root)
local tar_file
local dir
shift 2
for dir in $(iterate_dirs_in "$root" "$@"); do
tar_file="$target/$prefix-$dir.$EXT"
@@ -138,6 +146,37 @@ backup_dir() {
fi
}
##
# 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 backup gesetzt (target, excludes, usw.)
# hier wird dann dass hostname-script gesourced (s.o.) und in einer Schleife werden die
# entsprechenden backup_*-Funktionen aufgerufen
#
do_auto_backup() {
local func=$1
local count=1
before_backup
while [ $(isFunction $func$count) ]; do
func$count
# vars defined in $func$count in $HOST_NAME.sh
delete_dir "$BACKUP_TARGET" # bei Fehler werden die Dateien hoffentlich überschrieben
check_directory "$BACKUP_TARGET"
backup_all_dirs "$BACKUP_SOURCE" "$BACKUP_TARGET" "${BACKUP_EXCLUDE_DIRS[@]}"
let "count += 1"
done
after_backup
}
# TODO LOG_FILE="$NAS_ROOT/log/$HOST_NAME-backup-media.log"
backup_daily() {
do_auto_backup backup_daily
}
backup_weekly() {
do_auto_backuo backup_weekly
}
# Inhalt des Archivs in eine Textdatei ausgeben.
#
# $1 - Archiv