QNAP mail versenden
Hallo Mitadmins,
folgende Ausgangssituation:
Ich habe ein QNAP T-469L mit aktueller Firmware. Hier habe ich per NFS mir ein Laufwerk per NFS gemounted.
Nun mache ich jede Nacht ein Backup mittels tar. Dies funktioniert soweit ganz gut. Was mir jedoch fehlt ist eine
irgendwie geartete Mailbenachrichtigung, ob das Backup funktioniert hat oder nicht.
Um eines vorweg zu nehmen, ich mache das Backup bewusst nicht inkrementel, es handel sich um einige wenige
MB. Somit lohnt der Aufwand meiner Meinung nach nicht.
So sieht das script aktuell aus:
#!/bin/bash
DATE=$(date +%Y-%m-%d-%H%M%S)
BACKUP_DIR="/share/backup-dir/privat/Dokumente"
SOURCE="/share/privat/Dokumente"
tar -cjpf $BACKUP_DIR/backup-$DATE.tar.bz2 $SOURCE
Habt Ihr eine Idee, wie ich das hinbekommen kann?
Besten Dank im Voraus für Eure Hilfe.
gruß
Bastian
folgende Ausgangssituation:
Ich habe ein QNAP T-469L mit aktueller Firmware. Hier habe ich per NFS mir ein Laufwerk per NFS gemounted.
Nun mache ich jede Nacht ein Backup mittels tar. Dies funktioniert soweit ganz gut. Was mir jedoch fehlt ist eine
irgendwie geartete Mailbenachrichtigung, ob das Backup funktioniert hat oder nicht.
Um eines vorweg zu nehmen, ich mache das Backup bewusst nicht inkrementel, es handel sich um einige wenige
MB. Somit lohnt der Aufwand meiner Meinung nach nicht.
So sieht das script aktuell aus:
#!/bin/bash
DATE=$(date +%Y-%m-%d-%H%M%S)
BACKUP_DIR="/share/backup-dir/privat/Dokumente"
SOURCE="/share/privat/Dokumente"
tar -cjpf $BACKUP_DIR/backup-$DATE.tar.bz2 $SOURCE
Habt Ihr eine Idee, wie ich das hinbekommen kann?
Besten Dank im Voraus für Eure Hilfe.
gruß
Bastian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 252883
Url: https://administrator.de/contentid/252883
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
12 Kommentare
Neuester Kommentar
Hallo Bastian,
habe gerade mein QNAP nicht zur Hand, aber das müsste ungefähr so machbar sein. Ich meine Sendmail müsste auf dem QNAP per default die integrierten SMTP-Daten der Mail-Alertfunktion nutzen wenn man sie ohne Parameter aufruft, musst du mal ausprobieren.
Grüße Uwe
-edit- gerade auf einem QNAP TS219P getestet.
habe gerade mein QNAP nicht zur Hand, aber das müsste ungefähr so machbar sein. Ich meine Sendmail müsste auf dem QNAP per default die integrierten SMTP-Daten der Mail-Alertfunktion nutzen wenn man sie ohne Parameter aufruft, musst du mal ausprobieren.
#!/bin/bash
# Mail-Settings -----------
MAILFROM="user@domain.de"
MAILTO="user@domain.de"
FAILSUBJECT="QNAP Backup fehlgeschlagen"
FAILBODY="Das Backup des Qnap ist fehlgeschagen mit ErrorCode:"
SUCCESSSUBJECT="QNAP Backup erfolgreich"
SUCCESSBODY="Backup wurde erfolgreich abgeschlossen"
# -------------------------
DATE=$(date +%Y-%m-%d-%H%M%S)
BACKUP_DIR="/share/backup-dir/privat/Dokumente"
SOURCE="/share/privat/Dokumente"
tar -cjpf $BACKUP_DIR/backup-$DATE.tar.bz2 $SOURCE
result=$?
if [[ $result -ne 0 ]] ;then
echo -e "To: $MAILTO \nFrom: $MAILFROM \nSubject: $FAILSUBJECT \n\n$FAILBODY $result\n" | sendmail -t
else
echo -e "To: $MAILTO \nFrom: $MAILFROM \nSubject: $SUCCESSSUBJECT \n\n$SUCCESSBODY\n" | sendmail -t
fi
-edit- gerade auf einem QNAP TS219P getestet.
Zitat von @bastian42:
vielen Dank. Aber wenn ich es richtig verstehe, schickt dieses Ding "nur" eine mail wenn etwas schief läuft.
Ich hätte jedoch auch gerne eine Erfolgsmeldung. Ansonsten weiss ich ja nicht ob es funktioniert hat. Es
könnte ja auch schlicht sein, dass der cronjob nicht aufgerufen wird.
Kannst Du mir da auch noch helfen?
ist im else Teil der IF-Abfrage ergänzt ...vielen Dank. Aber wenn ich es richtig verstehe, schickt dieses Ding "nur" eine mail wenn etwas schief läuft.
Ich hätte jedoch auch gerne eine Erfolgsmeldung. Ansonsten weiss ich ja nicht ob es funktioniert hat. Es
könnte ja auch schlicht sein, dass der cronjob nicht aufgerufen wird.
Kannst Du mir da auch noch helfen?
Hallo,
mögliche Ursache: CRON gibt nur ein Minimum an Umgebungsvariablen an die aufgerufenen Skripte weiter. D.h., es ist möglich, dass er das "sendmail" (oder einen der anderen Befehle) nicht findet (PATH-Variable).
Lösung: Entweder im Skript (bzw. generell in Crontab-File) die PATH-Variable setzen oder für alle Kommandos absolute Pfade verwenden (siehe auch hier).
Gruß,
Gersen
mögliche Ursache: CRON gibt nur ein Minimum an Umgebungsvariablen an die aufgerufenen Skripte weiter. D.h., es ist möglich, dass er das "sendmail" (oder einen der anderen Befehle) nicht findet (PATH-Variable).
Lösung: Entweder im Skript (bzw. generell in Crontab-File) die PATH-Variable setzen oder für alle Kommandos absolute Pfade verwenden (siehe auch hier).
Gruß,
Gersen
OK der Pfad ist hier ebenfalls gleich; dann trag mal den Pfad oben im Script nach. Anstatt
sendmail -t
also /usr/sbin/sendmail -t
.