server:nextcloud:backup:scripte:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| server:nextcloud:backup:scripte:start [2026/05/22 21:14] – 91.115.85.221 | server:nextcloud:backup:scripte:start [2026/06/22 09:36] (aktuell) – 192.164.3.17 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Skripte ====== | ====== Skripte ====== | ||
| - | TBD | + | Der Backup‑Prozess wird durch zwei Skripte realisiert die im Verzeichnis // |
| + | |||
| + | Das Skript **run_nextcloud_backup.sh**, | ||
| + | |||
| + | <code bash># | ||
| + | |||
| + | # ============================================ | ||
| + | # Einstellungen | ||
| + | # ============================================ | ||
| + | MAIL_TO=" | ||
| + | MAIL_SUBJECT_SUCCESS=" | ||
| + | MAIL_SUBJECT_FAIL=" | ||
| + | LOGFILE="/ | ||
| + | |||
| + | # ============================================ | ||
| + | # Backup-Skript ausführen | ||
| + | # ============================================ | ||
| + | / | ||
| + | EXIT_CODE=$? | ||
| + | |||
| + | # ============================================ | ||
| + | # Ergebnis prüfen und E-Mail senden | ||
| + | # ============================================ | ||
| + | if [ $EXIT_CODE -eq 0 ]; then | ||
| + | MESSAGE=" | ||
| + | |||
| + | Zeit: $(date) | ||
| + | Exit-Code: $EXIT_CODE | ||
| + | |||
| + | Details siehe Logfile: $LOGFILE | ||
| + | " | ||
| + | echo " | ||
| + | echo " | ||
| + | else | ||
| + | MESSAGE=" | ||
| + | |||
| + | Zeit: $(date) | ||
| + | Exit-Code: $EXIT_CODE | ||
| + | |||
| + | Bitte überprüfe das Backup-Skript und die Systemlogs. | ||
| + | Details siehe Logfile: $LOGFILE | ||
| + | " | ||
| + | echo " | ||
| + | echo " | ||
| + | fi | ||
| + | |||
| + | exit $EXIT_CODE</ | ||
| + | |||
| + | |||
| + | Das Skript **nextcloud_backup.sh**, | ||
| + | |||
| + | <code bash># | ||
| + | |||
| + | # Verzeichnisse und Datenbank-Details | ||
| + | CONFIG_DIR="/ | ||
| + | DATA_DIR="/ | ||
| + | DB_NAME=" | ||
| + | DB_USER=" | ||
| + | DB_PASS=" | ||
| + | BACKUP_DIR="/ | ||
| + | MOUNT_POINT="/ | ||
| + | |||
| + | # ============================================ | ||
| + | # Schritt 0: Prüfen, ob Backup-Medium gemountet ist | ||
| + | # ============================================ | ||
| + | |||
| + | if ! mountpoint -q " | ||
| + | echo " | ||
| + | exit 2 | ||
| + | fi | ||
| + | |||
| + | # ============================================ | ||
| + | # Schritt 1: Prüfen, ob bereits 3 Sicherungen existieren | ||
| + | # ============================================ | ||
| + | |||
| + | BACKUPS=($(ls -1 " | ||
| + | COUNT=${# | ||
| + | |||
| + | if [ " | ||
| + | OLDEST=" | ||
| + | echo "Es existieren bereits 3 Sicherungen. Lösche älteste: $OLDEST" | ||
| + | rm -rf " | ||
| + | fi | ||
| + | |||
| + | # ============================================ | ||
| + | # Schritt 2: Neue Sicherung erstellen | ||
| + | # ============================================ | ||
| + | |||
| + | # Datum und Zeit für die Sicherung | ||
| + | TIMESTAMP=$(date +" | ||
| + | |||
| + | # Sicherungsverzeichnisse erstellen | ||
| + | mkdir -p " | ||
| + | |||
| + | # Konfiguration sichern | ||
| + | tar -czf $BACKUP_DIR/ | ||
| + | |||
| + | # Daten sichern | ||
| + | tar -czf $BACKUP_DIR/ | ||
| + | |||
| + | # Datenbank sichern | ||
| + | mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/ | ||
| + | |||
| + | # Sicherung überprüfen | ||
| + | if [ -f $BACKUP_DIR/ | ||
| + | [ -f $BACKUP_DIR/ | ||
| + | [ -f $BACKUP_DIR/ | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # ============================================ | ||
| + | # Schritt 3: Integrität der Archive überprüfen | ||
| + | # ============================================ | ||
| + | |||
| + | # Integrität der Archive überprüfen | ||
| + | if tar -tzf $BACKUP_DIR/ | ||
| + | tar -tzf $BACKUP_DIR/ | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # Datenbank-Dump überprüfen | ||
| + | if grep -q "Dump completed" | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | |||
| + | exit 0</ | ||
server/nextcloud/backup/scripte/start.1779484462.txt.gz · Zuletzt geändert: von 91.115.85.221
