Good to Know Database

Raspbian Wheezy: Benachrichtigung wenn Fetchmail-Fingerabdrücke nicht stimmen


Wie bereits im Tutorial Raspbian Wheezy: Fetchmail-SSL-Zertifikate erneuern beschrieben, sind die Zertifikate auf den Mailservern in der Regel nur begrenzt gültig und werden regelmäßig ausgetauscht. Da bei einer entsprechenden Konfiguration von Fetchmail nach einem Zertifikatswechsel keine E-Mails mehr vom betroffenen Mailserver abgeholt werden, habe ich ein kleines Shell-Skript geschrieben, welches regelmäßig die Logdatei des Mailsystems überprüft und den Administrator über das ungültige Zertifikat per E-Mail informiert.

Bei einem deutschen Raspbian sehen die entsprechenden Einträge in der /var/log/mail.log wie folgt aus. Sollte die Logmeldung bei Ihnen abweichen, müssen Sie den Filter an das Format in Ihrer /var/log/mail.log anpassen.

Sep 15 11:59:39 raspberrypi fetchmail[3175]: securepop.t-online.de-Fingerabdrücke stimmen nicht überein!

Erstellen Sie durch den folgenden Befehl das Skript im Verzeichnis /usr/local/sbin/.

pi@raspberrypi ~ $ sudo vi /usr/local/sbin/check_maillog.sh

Fügen Sie jetzt das folgende Skript in die Datei check_maillog.sh ein.

###########################################################################
##                                                                       ##
##           Check /var/log/mail.log for fingerprint warnings            ##
##                                                                       ##
## Creation:    08.05.2012                                               ##
## Last Update: 20.10.2013                                               ##
##                                                                       ##
## Copyright (c) 2012-2013 by Georg Kainzbauer <http://www.gtkdb.de>     ##
##                                                                       ##
## This program is free software; you can redistribute it and/or modify  ##
## it under the terms of the GNU General Public License as published by  ##
## the Free Software Foundation; either version 2 of the License, or     ##
## (at your option) any later version.                                   ##
##                                                                       ##
###########################################################################
#!/bin/bash

# Path of maillog file
LOGFILE=/var/log/mail.log

# Searchstring
SEARCHSTRING="Fingerabdrücke stimmen nicht überein!"

# Who will be informed in case of fingerprint warnings are found (if you do not want to be informed via mail, set this option to "")
MAILNOTIFY="pi@localhost"

# Subject of the notification mail
MAILSUBJECT="Fetchmail: Fingerprints do not match"

###################################################################
# NORMALLY THERE IS NO NEED TO CHANGE ANYTHING BELOW THIS COMMENT #
###################################################################

pipe_not_empty()
{
  input=$(cat)
  if [ "$input" != "" ]; then
    { printf '%s\n' "${input}"; } | "$@"
  fi
}

grep "${SEARCHSTRING}" ${LOGFILE} | cut -d" " -f2- | grep "^$(date +%e)" | cut -d: -f4- | cut -d" " -f2- | sort -u | sed "s/-${SEARCHSTRING}//" | pipe_not_empty mail -s "${MAILSUBJECT}" ${MAILNOTIFY}

exit 0

Ändern Sie anschließend die Zugriffsrechte der Datei.

pi@raspberrypi ~ $ sudo chmod 0755 /usr/local/sbin/check_maillog.sh

Öffnen Sie jetzt die Crontab mit dem folgenden Befehl zum Bearbeiten.

pi@raspberrypi ~ $ sudo crontab -e

Fügen Sie am Ende der Datei die folgende Zeile ein. Dadurch wird das Skript täglich um 11:59 Uhr und um 23:59 Uhr ausgeführt.

59 11,23 * * * /usr/local/sbin/check_maillog.sh >/dev/null 2>&1

Weiterführende Tutorials

Raspbian Wheezy: Fetchmail-SSL-Zertifikate erneuern


Dieser Eintrag wurde am 16.09.2013 erstellt und zuletzt am 25.09.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_36_2331.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer