29 lines
900 B
Bash
29 lines
900 B
Bash
#!/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 |