42 lines
1.2 KiB
Bash
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 |