#!/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