diff --git a/backup_proxy.sh b/backup_proxy.sh new file mode 100644 index 0000000..349f249 --- /dev/null +++ b/backup_proxy.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# /opt/backup_proxy.sh + +# Konfiguration +BACKUP_QUELLE="/opt/proxy-manager" +BACKUP_ZIEL="/opt/backup" +ANZAHL_BACKUPS=3 +DATUM=$(date +%Y%m%d_%H%M%S) +BACKUP_DATEI="${BACKUP_ZIEL}/proxy-manager_backup_${DATUM}.tar.gz" + +# Erstelle das Backup-Verzeichnis, falls es nicht existiert +mkdir -p "${BACKUP_ZIEL}" + +# Backup erstellen (inklusive Berechtigungen) +tar -czpf "${BACKUP_DATEI}" -C /opt/proxy-manager . --preserve-permissions + +# Überprüfe, ob das Backup erfolgreich erstellt wurde +if [ $? -ne 0 ]; then + echo "Fehler beim Erstellen des Backups!" + exit 1 +fi + +# Alte Backups entfernen, sodass nur die 3 neuesten übrig bleiben +find "${BACKUP_ZIEL}" -name "proxy-manager_backup_*.tar.gz" -type f -printf '%T+ %p\n' | sort -r | tail -n +"$((ANZAHL_BACKUPS + 1))" | cut -d' ' -f2 | xargs rm -f + +echo "Backup erfolgreich erstellt: ${BACKUP_DATEI}" +echo "Alte Backups wurden gelöscht." + +exit 0 \ No newline at end of file