added NFS Backup as an alternative to smb

This commit is contained in:
2023-03-30 21:37:48 +02:00
parent ebd639ff5b
commit abac9630b4
7 changed files with 178 additions and 48 deletions

View File

@@ -23,14 +23,22 @@ else
fi
if [ "$mount_successful" -eq 1 ]; then
# Repository erstellen, falls nicht vorhanden
mkdir -p "$backup_repository"
# Alle laufenden Container stoppen
running_containers=$(docker ps --format '{{.Names}}')
running_containers=$(docker ps --format '{{ "{{.Names}}" }}')
for container in $running_containers; do
docker stop "$container"
done
# Backup mit BorgBackup erstellen
# Prüfen, ob das Repository existiert, und ggf. erstellen
export BORG_PASSPHRASE="$borg_password"
if ! borg list "$backup_repository" >/dev/null 2>&1; then
borg init --encryption=repokey "$backup_repository"
fi
# Backup mit BorgBackup erstellen
backup_result=$(borg create --progress --list --stats --compression lz4 "$backup_repository"::'{hostname}-{now:%Y-%m-%d_%H:%M:%S}' $data_dir 2>&1)
backup_status=$?
@@ -59,7 +67,7 @@ if [ "$mount_successful" -eq 1 ]; then
echo "Unmount fehlgeschlagen: $umount_output" >&2
fi
# E-Mail senden
# E-Mail senden
target_usage=$(df -h "$mount_point" | tail -1 | awk '{ print $5 }')
target_usage_number=${target_usage%%%}
@@ -69,5 +77,9 @@ if [ "$mount_successful" -eq 1 ]; then
target_usage_warning=""
fi
mail_subject="Backup-Bericht: $(date +'%Y-%m-%d %H:%M:%S')"
mail_body="$backup_result\n
hostname=$(hostname)
mail_subject="Backup-Bericht: $hostname - $(date +'%Y-%m-%d %H:%M:%S')"
mail_body="$backup_result\n"
echo -e "$mail_body$target_usage_warning" | mail -s "$mail_subject" -r "no-reply@homeserver.zernis.ch" "$email_recipient"
fi