Für die Umstellung eines E-Mailproviders habe ich ein kleines Bash-Script geschrieben, das bei der Umstellung der MX-Datensätze einer Domain dokumentiert, wann die Umstellung im Netz wirksam wird. Hintergrund ist, das ein Ausfall der Erreichbarkeit damit Erkannt und dokumentiert werden kann. Unwahrscheinlich – aber man kann ja nie wissen.
Das Setup besteht aus drei Teilen:
- Die Bash-Script Datei: mailcheck.sh
- Die Counter-Datei, die einen einfachen Zähler speichert: counter.txt
- Der Eintrag in Crontab, der das Script automatisch alle 5 Minuten ausführt
mailcheck.sh
#!/bin/bash
TO="EMAILADRESSE@DEINEDOMAIN.DE"
read COUNT < /home/USER/counter.txt
expr $COUNT + 1 > /home/USER/counter.txt
echo "$(dig DEINEDOMAIN.DE mx +noall +answer)" | /usr/bin/mail -s "$COUNT" "$TO"
„/home/USER/“, E-Mail-Adresse und Domain entsprechend anpassen.
Anschließend die Datei ausführbar machen:
# chmod +x mailcheck.sh
counter.txt
Eine Textdatei, die eine Zahl enthält, z.B. 1 oder 2 oder …
crontab Eintrag
im Terminal die crontab editieren:
# crontab -e
und die Zeile für die Ausführung des Scripts einfügen (/home/USER/ wieder auf den Ordner anpassen, wo das Script liegt):
*/5 * * * * /home/USER/mailcheck.sh
Und Fertig. Das Script wird alle 5 Minuten automatisch ausgeführt und sendet eine Mail an die angegebene E-Mail Adresse. Im Betreff steht nur eine Zahl (der counter). Damit lässt sich schnell checken, ob eine E-Mail fehlt. Im Nachrichtentext stehen die Daten, die das Script für die MX Records abgerufen hat. Eigentlich unnötig, aber man kann ja nie wissen 🙂