ubuntu:backup
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ubuntu:backup [2026/04/12 10:48] – [Wichtiger Hinweis] franz | ubuntu:backup [2026/04/12 10:52] (aktuell) – [Skript anlegen] franz | ||
|---|---|---|---|
| Zeile 192: | Zeile 192: | ||
| Datei erstellen: | Datei erstellen: | ||
| - | <code bash>\\ | + | <code bash> |
| - | sudo nano / | + | sudo nano / |
| </ | </ | ||
| Zeile 199: | Zeile 200: | ||
| Inhalt: | Inhalt: | ||
| - | <code bash>\\ | + | <code bash> |
| #!/bin/bash | #!/bin/bash | ||
| set -u | set -u | ||
| - | LOGFILE="/ | + | LOGFILE="/ |
| - | MAILTO=" | + | MAILTO=" |
| - | HOSTNAME=" | + | HOSTNAME=" |
| LOCKFILE="/ | LOCKFILE="/ | ||
| - | send_error_mail() {\\ | + | send_error_mail() {\ |
| - | local subject=" | + | local subject=" |
| local body=" | local body=" | ||
| - | / | + | / |
| - | Subject: $subject\\ | + | Subject: $subject\ |
| - | From: root@$HOSTNAME\\ | + | From: root@$HOSTNAME\ |
| To: $MAILTO | To: $MAILTO | ||
| - | $body\\ | + | $body\ |
| - | EOF\\ | + | EOF\ |
| } | } | ||
| - | {\\ | + | {\ |
| - | flock -n 9 || {\\ | + | flock -n 9 || {\ |
| - | DATE_NOW=" | + | DATE_NOW=" |
| - | echo "==== $DATE_NOW LOCK AKTIV: rsnapshot daily laeuft bereits ====" >> " | + | echo "==== $DATE_NOW LOCK AKTIV: rsnapshot daily laeuft bereits ====">> |
| - | send_error_mail | + | send_error_mail \ |
| - | " | + | " |
| "Der rsnapshot-Job wurde nicht gestartet, weil bereits ein Lauf aktiv ist. | "Der rsnapshot-Job wurde nicht gestartet, weil bereits ein Lauf aktiv ist. | ||
| - | Host: $HOSTNAME\\ | + | Host: $HOSTNAME\ |
| - | Zeit: $DATE_NOW\\ | + | Zeit: $DATE_NOW\ |
| - | Lockdatei: $LOCKFILE\\ | + | Lockdatei: $LOCKFILE\ |
| - | Logdatei: $LOGFILE" | + | Logdatei: $LOGFILE" |
| - | exit 1\\ | + | exit 1\ |
| } | } | ||
| - | DATE_NOW=" | + | DATE_NOW=" |
| - | echo "==== Start rsnapshot daily: $DATE_NOW ====" >> " | + | echo "==== Start rsnapshot daily: $DATE_NOW ====">> |
| - | / | + | / |
| RETVAL=$? | RETVAL=$? | ||
| DATE_END=" | DATE_END=" | ||
| - | if [ $RETVAL -eq 0 ]; then\\ | + | if [ $RETVAL -eq 0 ]; then\ |
| - | echo "==== Ende rsnapshot daily erfolgreich: | + | echo "==== Ende rsnapshot daily erfolgreich: |
| - | else\\ | + | else\ |
| - | echo "==== Ende rsnapshot daily FEHLER ($RETVAL): $DATE_END ====" >> " | + | echo "==== Ende rsnapshot daily FEHLER ($RETVAL): $DATE_END ====">> |
| - | send_error_mail | + | send_error_mail \ |
| - | " | + | " |
| "Die rsnapshot-Sicherung ist fehlgeschlagen. | "Die rsnapshot-Sicherung ist fehlgeschlagen. | ||
| - | Host: $HOSTNAME\\ | + | Host: $HOSTNAME\ |
| - | Zeit: $DATE_END\\ | + | Zeit: $DATE_END\ |
| - | Rueckgabecode: | + | Rueckgabecode: |
| Logdatei: $LOGFILE | Logdatei: $LOGFILE | ||
| Die letzten 50 Zeilen aus dem Log: | Die letzten 50 Zeilen aus dem Log: | ||
| - | $(tail -n 50 " | + | $(tail -n 50 " |
| fi | fi | ||
| - | exit $RETVAL\\ | + | exit $RETVAL\ |
| - | } 9>" | + | } 9>" |
| </ | </ | ||
| ---- | ---- | ||
| + | |||
| ==== Skript ausführbar machen ==== | ==== Skript ausführbar machen ==== | ||
| - | <code bash>\\ | + | <code bash> |
| - | sudo chmod +x / | + | sudo chmod +x / |
| </ | </ | ||
| ---- | ---- | ||
| + | |||
| ==== Cronjob einrichten ==== | ==== Cronjob einrichten ==== | ||
| Zeile 283: | Zeile 288: | ||
| Root-Crontab bearbeiten: | Root-Crontab bearbeiten: | ||
| - | <code bash>\\ | + | <code bash> |
| - | sudo crontab -e\\ | + | sudo crontab -e |
| </ | </ | ||
| Eintrag hinzufügen: | Eintrag hinzufügen: | ||
| + | |||
| < | < | ||
| - | \\ | + | 0 1 * * * / |
| - | 0 1 * * * / | + | |
| </ | </ | ||
| Zeile 303: | Zeile 309: | ||
| ---- | ---- | ||
| + | |||
| ==== Wichtige Regel ==== | ==== Wichtige Regel ==== | ||
| Zeile 309: | Zeile 316: | ||
| Also **nicht beides gleichzeitig**: | Also **nicht beides gleichzeitig**: | ||
| - | + | < | |
| - | < | + | 0 1 * * * / |
| - | 0 1 * * * / | + | 0 1 * * * / |
| - | 0 1 * * * / | + | |
| </ | </ | ||
| Zeile 318: | Zeile 324: | ||
| Richtig ist nur: | Richtig ist nur: | ||
| - | < | + | < |
| - | 0 1 * * * / | + | 0 1 * * * / |
| </ | </ | ||
| ---- | ---- | ||
| + | |||
| ==== Funktion testen ==== | ==== Funktion testen ==== | ||
| Zeile 329: | Zeile 336: | ||
| Skript manuell starten: | Skript manuell starten: | ||
| - | <code bash>\\ | + | <code bash> |
| - | sudo / | + | sudo / |
| - | echo $?\\ | + | echo $? |
| </ | </ | ||
| Zeile 342: | Zeile 350: | ||
| Logdatei ansehen: | Logdatei ansehen: | ||
| - | <code bash>\\ | + | <code bash> |
| - | sudo tail -n 50 / | + | sudo tail -n 50 / |
| </ | </ | ||
| ---- | ---- | ||
| + | |||
| ==== rsnapshot separat prüfen ==== | ==== rsnapshot separat prüfen ==== | ||
| Zeile 355: | Zeile 365: | ||
| Konfiguration prüfen: | Konfiguration prüfen: | ||
| - | <code bash>\\ | + | <code bash> |
| - | sudo / | + | sudo / |
| - | echo $?\\ | + | echo $? |
| - | </ | ||
| - | |||
| - | Tagessicherung direkt starten: | ||
| - | |||
| - | <code bash>\\ | ||
| - | sudo / | ||
| - | echo $?\\ | ||
| </ | </ | ||
| + | |||
| + | Tagessicherung direkt starten: sudo/ | ||
| ---- | ---- | ||
| + | |||
| ==== Mailversand testen ==== | ==== Mailversand testen ==== | ||
| Zeile 375: | Zeile 381: | ||
| Testmail senden: | Testmail senden: | ||
| - | <code bash>\\ | + | <code bash> |
| - | echo -e " | + | echo -e " |
| </ | </ | ||
| Zeile 383: | Zeile 390: | ||
| ---- | ---- | ||
| + | |||
| ==== Logdatei ==== | ==== Logdatei ==== | ||
| Die Logdatei ist: | Die Logdatei ist: | ||
| + | |||
| < | < | ||
| - | \\ | + | / |
| - | / | + | |
| </ | </ | ||
| Zeile 401: | Zeile 409: | ||
| ---- | ---- | ||
| + | |||
| ==== Typische Fehlerquellen ==== | ==== Typische Fehlerquellen ==== | ||
ubuntu/backup.1775983690.txt.gz · Zuletzt geändert: von franz