nextcloud_sichern_scripte/dokuwiki_backup.sh
2024-11-19 18:08:36 +01:00

42 lines
1.2 KiB
Bash

#!/bin/bash
# Verzeichnisse und Datenbank-Details
CONFIG_DIR="/var/www/dokuwiki/conf"
DATA_DIR="/var/www/dokuwiki/data"
BACKUP_DIR="/path/to/backup"
RETENTION_DAYS=21
# Datum und Zeit für die Sicherung
TIMESTAMP=$(date +"%Y%m%d%H%M%S")
# Sicherungsverzeichnisse erstellen
mkdir -p $BACKUP_DIR/$TIMESTAMP
# Konfiguration sichern
tar -czf $BACKUP_DIR/$TIMESTAMP/dokuwiki_config_$TIMESTAMP.tar.gz -C $CONFIG_DIR .
# Daten sichern
tar -czf $BACKUP_DIR/$TIMESTAMP/dokuwiki_data_$TIMESTAMP.tar.gz -C $DATA_DIR .
# Sicherung überprüfen
if [ -f $BACKUP_DIR/$TIMESTAMP/dokuwiki_config_$TIMESTAMP.tar.gz ] && [ -f $BACKUP_DIR/$TIMESTAMP/dokuwiki_data_$TIMESTAMP.tar.gz ]; then
echo "Sicherung erfolgreich erstellt."
else
echo "Sicherung fehlgeschlagen."
exit 1
fi
# Integrität der Archive überprüfen
if tar -tzf $BACKUP_DIR/$TIMESTAMP/dokuwiki_config_$TIMESTAMP.tar.gz >/dev/null && tar -tzf $BACKUP_DIR/$TIMESTAMP/dokuwiki_data_$TIMESTAMP.tar.gz >/dev/null; then
echo "Archive sind intakt."
else
echo "Archive sind beschädigt."
exit 1
fi
# Alte Sicherungen löschen
find $BACKUP_DIR -type d -mtime +$RETENTION_DAYS -exec rm -rf {} \;
echo "Alte Sicherungen gelöscht."
exit 0