53 lines
1.0 KiB
Bash
53 lines
1.0 KiB
Bash
#!/bin/bash
|
|
|
|
# ======== Bash Einstellungen =======
|
|
set -euo pipefail
|
|
set +H
|
|
|
|
|
|
# ======== Konfiguration ========
|
|
BACKUP_PATH_1="/path/to/local/directory"
|
|
BACKUP_PATH_2="/path/to/local/directory"
|
|
REPO=""
|
|
PW_FILE=""
|
|
LOG_FILE=""
|
|
RESTIC_BIN="/usr/bin/restic" # ggf. anpassen
|
|
|
|
# ======= Umgebungsvariablen =======
|
|
export RESTIC_REPOSITORY="$REPO"
|
|
export RESTIC_PASSWORD_FILE="$PW_FILE"
|
|
|
|
|
|
# ======= Logging =======
|
|
exec > >(tee -a "$LOGFILE") 2>&1
|
|
trap 'echo "Fehler beim Backup!" >&2; exit 1' ERR
|
|
|
|
|
|
# ======== Backups für 3 Tage behalten ========
|
|
"$RESTIC_BIN" forget --keep-last 3 --prune
|
|
|
|
|
|
# ======== ASCII ========
|
|
cat << "EOF"
|
|
____ _ _
|
|
| _ \ ___ ___| |_(_) ___
|
|
| |_) / _ \/ __| __| |/ __|
|
|
| _ < __/\__ \ |_| | (__
|
|
|_| \_\___||___/\__|_|\___|
|
|
|
|
EOF
|
|
|
|
|
|
# ======== Backup durchführen ========
|
|
echo " ==== Backup starten ====="
|
|
|
|
if [[ -n "$BACKUP_PATH_1" ]]; then
|
|
"RESTIC_BIN" backup "$BACKUP_PATH_1" --tag "<usefull tag>"
|
|
fi
|
|
|
|
if [[ -n "$BACKUP_PATH_2" ]]; then
|
|
"RESTIC_BIN" backup "$BACKUP_PATH_2" --tag "<usefull tag>"
|
|
fi
|
|
|
|
echo "==== Backup abgeschlossen ====
|