Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| magicmirror:magicmirror_tipps:backup [07.10.2026] – [Ziel] kolja | magicmirror:magicmirror_tipps:backup [08.10.2026] (aktuell) – kolja | ||
|---|---|---|---|
| Zeile 155: | Zeile 155: | ||
| ====== 2. Manuelles MagicMirror-Backup ====== | ====== 2. Manuelles MagicMirror-Backup ====== | ||
| - | ===== Script anlegen ===== | + | Das manuelle Backup: |
| - | <code bash> | + | * wird per Befehl gestartet |
| - | mkdir -p ~/bin | + | * läuft danach im Hintergrund |
| - | nano ~/ | + | * erzeugt ein geprüftes TAR.GZ-Archiv |
| - | </code> | + | * erzeugt zusätzlich eine SHA-256-Prüfsumme |
| + | * sichert keine '' | ||
| + | * bricht ab, wenn das NAS nicht korrekt gemountet ist | ||
| + | * meldet Erfolg oder Fehler über ioBroker | ||
| - | Inhalt: | + | Die ioBroker-Zugangsdaten werden aus |
| - | < | + | < |
| - | #!/usr/bin/env bash | + | ~/.config/magicmirror-backup/iobroker.conf |
| + | </ | ||
| - | SOURCE=" | + | gelesen. |
| - | NAS="/ | + | |
| - | BACKUP_BASE=" | + | |
| - | LOGDIR=" | + | |
| - | # Anpassen: | ||
| - | EXPECTED_SOURCE="//< | ||
| + | ===== Script ===== | ||
| - | check_nas() { | + | Das Script liegt unter: |
| - | if ! timeout 15s stat " | + | <code> |
| - | echo " | + | ~/bin/backup_magicmirror.sh |
| - | | + | </ |
| - | fi | + | |
| - | MOUNT_INFO=" | + | Bearbeiten: |
| - | FSTYPE=" | + | |
| - | MOUNT_SOURCE=" | + | |
| - | if [[ " | + | <code bash> |
| - | echo " | + | nano ~/ |
| - | | + | </ |
| - | fi | + | |
| - | return 0 | + | Das Script besitzt intern zwei wichtige Betriebsarten: |
| - | } | + | |
| + | ^ Modus ^ Verwendung ^ | ||
| + | | '' | ||
| + | | '' | ||
| - | if [[ "${1:-}" == " | + | Dadurch erzeugt das automatische Backup keine doppelte Telegram-Nachricht. |
| - | FINAL_DEST=" | ||
| - | TEMP_DEST=" | ||
| - | ARCHIVE=" | ||
| - | exec 9>/ | + | ===== Backup starten ===== |
| - | if ! flock -n 9; then | + | <code bash> |
| - | echo " | + | ~/ |
| - | exit 1 | + | </ |
| - | fi | + | |
| - | echo " | + | Das Backup |
| - | echo " | + | |
| - | echo " | + | |
| - | echo " | + | |
| - | echo " | + | |
| - | echo " | + | |
| - | if ! check_nas; then | ||
| - | echo " | ||
| - | exit 2 | ||
| - | fi | ||
| - | mkdir -p " | + | ===== Status / Log ansehen ===== |
| - | echo "Erstelle Archiv ..." | + | <code bash> |
| + | tail -f "$(ls -t ~/ | ||
| + | </ | ||
| - | tar \ | + | Mit '' |
| - | --create \ | + | |
| - | --gzip \ | + | |
| - | --dereference \ | + | |
| - | --exclude='MagicMirror/ | + | |
| - | --exclude='MagicMirror/ | + | |
| - | --exclude=' | + | |
| - | --exclude=' | + | |
| - | --file=" | + | |
| - | --directory=" | + | |
| - | MagicMirror | + | |
| - | RESULT=$? | + | Das Backup selbst läuft weiter. |
| - | if [[ $RESULT -ne 0 ]]; then | ||
| - | echo " | ||
| - | exit " | ||
| - | fi | ||
| - | echo " | + | ===== Erfolgreiches Backup ===== |
| - | gzip -t " | + | Ein erfolgreiches Backup enthält: |
| - | echo " | + | < |
| + | MagicMirror.tar.gz | ||
| + | MagicMirror.tar.gz.sha256 | ||
| + | </ | ||
| - | tar -tzf " | + | Das Log enthält: |
| - | echo " | + | < |
| + | BACKUP ERFOLGREICH | ||
| + | </ | ||
| - | ( | + | Zusätzlich wird über ioBroker eine Telegram-Nachricht gesendet. |
| - | cd " | + | |
| - | sha256sum MagicMirror.tar.gz > MagicMirror.tar.gz.sha256 | + | |
| - | sha256sum | + | |
| - | ) || exit 6 | + | |
| - | mv " | ||
| - | echo | + | ===== Speicherort |
| - | echo "==========================================" | + | |
| - | echo " | + | |
| - | echo "Ende: $(date)" | + | |
| - | echo " | + | |
| - | du -h " | + | |
| - | echo " | + | |
| - | exit 0 | + | < |
| - | fi | + | / |
| - | + | ||
| - | + | ||
| - | if [[ ! -d " | + | |
| - | echo " | + | |
| - | exit 1 | + | |
| - | fi | + | |
| - | + | ||
| - | echo " | + | |
| - | + | ||
| - | if ! check_nas; then | + | |
| - | echo " | + | |
| - | echo "Es werden keine Daten lokal nach / | + | |
| - | exit 1 | + | |
| - | fi | + | |
| - | + | ||
| - | mkdir -p " | + | |
| - | mkdir -p " | + | |
| - | + | ||
| - | STAMP=" | + | |
| - | DEST=" | + | |
| - | LOG=" | + | |
| - | + | ||
| - | echo "NAS ist erreichbar." | + | |
| - | echo " | + | |
| - | echo "Ziel: $DEST" | + | |
| - | echo " | + | |
| - | + | ||
| - | nohup " | + | |
| - | + | ||
| - | echo "PID: $!" | + | |
| - | echo "Log ansehen mit:" | + | |
| - | echo "tail -f \" | + | |
| </ | </ | ||
| - | Ausführbar machen: | + | Beispiel: |
| - | < | + | < |
| - | chmod +x ~/bin/ | + | MagicMirror_2026-10-08_21-30-00/ |
| + | ├── MagicMirror.tar.gz | ||
| + | └── MagicMirror.tar.gz.sha256 | ||
| </ | </ | ||
| - | ===== Manuelles | + | ===== Backup |
| <code bash> | <code bash> | ||
| - | ~/bin/backup_magicmirror.sh | + | cd /mnt/nasbackup/Manuelle_Backups/ |
| - | </code> | + | |
| - | Neuestes Log ansehen: | + | sha256sum |
| - | + | ||
| - | <code bash> | + | |
| - | tail -f "$(ls -t ~/ | + | |
| </ | </ | ||
| - | '' | + | Erwartet: |
| - | + | ||
| - | Ein Backup ist erfolgreich, | + | |
| < | < | ||
| - | BACKUP ERFOLGREICH | + | MagicMirror.tar.gz: |
| </ | </ | ||
| - | |||
| - | und der Backup-Ordner **kein** '' | ||
| Zeile 778: | Zeile 707: | ||
| ====== 9. Alltag ====== | ====== 9. Alltag ====== | ||
| - | ===== Manuelles Backup ===== | + | ===== Manuelles Backup |
| <code bash> | <code bash> | ||
| Zeile 784: | Zeile 713: | ||
| </ | </ | ||
| - | ===== Backup-Log ===== | + | Bei Erfolg oder Fehler wird automatisch eine Telegram-Nachricht über ioBroker gesendet. |
| + | |||
| + | |||
| + | ===== Aktuelles | ||
| <code bash> | <code bash> | ||
| Zeile 790: | Zeile 722: | ||
| </ | </ | ||
| - | ===== Automatische Backups ===== | ||
| - | Jeden Sonntag: | + | ===== Automatisches Backup ===== |
| + | |||
| + | Das automatische Backup läuft: | ||
| < | < | ||
| - | 01:00 Uhr | + | jeden Sonntag um 01:00 Uhr |
| </ | </ | ||
| Zeile 805: | Zeile 738: | ||
| aufbewahrt. | aufbewahrt. | ||
| + | |||
| + | Manuelle Backups werden dadurch nicht gelöscht. | ||
| + | |||
| ===== Timer prüfen ===== | ===== Timer prüfen ===== | ||
| Zeile 811: | Zeile 747: | ||
| systemctl list-timers --all | grep magicmirror | systemctl list-timers --all | grep magicmirror | ||
| </ | </ | ||
| + | |||
| ===== NAS prüfen ===== | ===== NAS prüfen ===== | ||
| Zeile 817: | Zeile 754: | ||
| findmnt / | findmnt / | ||
| df -h / | df -h / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Backup prüfen ===== | ||
| + | |||
| + | Im jeweiligen Backup-Verzeichnis: | ||
| + | |||
| + | <code bash> | ||
| + | sha256sum -c MagicMirror.tar.gz.sha256 | ||
| + | </ | ||
| + | |||
| + | Erwartet: | ||
| + | |||
| + | < | ||
| + | MagicMirror.tar.gz: | ||
| </ | </ | ||