Hi,
nachdem bei mir eine externe Platte für Backups den Geist aufgegeben hat und ich es erst nach ein paar Tagen gemerkt habe, habe ich mir ein Script gebastelt (Vorlage: http://forum.qnap.com/viewtopi…hot+mail&start=50#p104819), welches mir Mails an meine Benachrichtigungs-Mailadresse schickt über Erfolg oder Mißerfolg der Backups des aktuellen Tages.
Wichtig: E-Mail-Benachrichtigung muß über das Web-Gui konfiguriert sein.
Bash
#!/bin/bash
# Config section
MAIL_TO="max.mustermann@web.de"
MAIL_HEADER_TO="Max Mustermann <max.mustermann@web.de>"
MAIL_HEADER_FROM="Max Mustermann <max.mustermann@web.de>"
MAIL_HEADER_SUBJECT="Backup Log"
MAIL_HEADER_SUBJECT_ERROR="Backup ERROR!"
# Uncomment to suppress log mails without errors
# SEND_MAIL_ONLY_ON_ERROR=1
# Do not edit below this line
# Header Stuff
LOG_FILE="/opt/var/log/rsnapshot"
TMP_LOG_FILE="/tmp/rsnapshot_log.log"
MAIL_FILE="/tmp/rsnapshot_log.mail"
# Program
MAIL="/usr/sbin/ssmtp"
# Foramt dates
DATE=`date +"%d/%b/%Y"`
PRINT_DATE=`date +"%d.%m.%Y"`
SUBJECT_DATE=`date +"%F"`
# No logs today
if [ `fgrep $DATE $LOG_FILE -c` -eq 0 ]; then
exit 0
fi
# Extract Todays Log ( format 30/Mar/2006 )
fgrep $DATE $LOG_FILE > $TMP_LOG_FILE
# Detect errors
if [ `fgrep "ERROR" $TMP_LOG_FILE -c` -gt 0 ]; then
MAIL_HEADER_SUBJECT=$MAIL_HEADER_SUBJECT_ERROR
ERROR=1
else
if [ -n "$SEND_MAIL_ONLY_ON_ERROR" ]; then
# Suppress log mails without errors
exit 0
fi
fi
{
echo "TO: $MAIL_HEADER_TO"
echo "FROM: $MAIL_HEADER_FROM"
echo "SUBJECT: $MAIL_HEADER_SUBJECT $SUBJECT_DATE"
echo ""
echo "Backup Report on $PRINT_DATE"
egrep "completed|ERROR" $TMP_LOG_FILE
echo ""
echo "Disk Usage:"
df -h
if [ -n "$ERROR" ]; then
echo ""
echo "Full Log:"
echo ""
cat $TMP_LOG_FILE
echo ""
echo "Dmesg output:"
dmesg
fi
} > $MAIL_FILE
# Send Mail
$MAIL $MAIL_TO < $MAIL_FILE
# Remove Temporary Files
rm -rf $MAIL_FILE $TMP_LOG_FILE
Alles anzeigen
Dieses Script sollte dann per cron am gleichen Tage wie die Backups aufgerufen werden. Vorher noch die Mailadressen editieren
Linuxnutzer