Files
linux-scripts/Backup/restic-backup-script.sh

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 ====