Email-Benachrichtung bei erforderlichen Server-Neustart

In diesem Tutorial "Automatische Updates unter Ubuntu nutzen" habe ich euch erklärt, wie man die automatische Installation von Updates unter Ubuntu einrichtet.

In manchen Fällen bzw. bei bestimmten Updates muss nach der Installation ein Neustart nötig, aber als Administrator bekommt man jedoch dies nicht mit.

In diesem Tutorial möchte ich euch erklären, wie man die E-Mail-Benachrichtigung bei erforderlichen Serverneustart einrichtet, welches dann dafür sorgt, das ihr über E-Mail Benachrichtigt wird, wenn der Server neu gestartet werden muss.


Hierfür stellt Ubuntu das Paket "update-notifier-common" zur Verfügung, welches evtl. zuerst Installiert werden muss und das geht diesem Befehl:


Code
sudo apt-get install update-notifier-common

Sobald ein Update einen Neustart des Servers erfordert, wird automatisch die Datei /var/run/reboot-required erstellt.


Nun wird ein Script erstellt, welches überprüft ob die Datei /var/run/reboot-required existiert und wenn ja, dann wird eine E-Mail verschickt.


Zuerst wird ein Verzeichnis namens "usrscripts" in /usr/local/ angelegt und dort legen wir dort diesen Script ab.

Dazu werden diese Befehle ausgeführt:

Code
sudo mkdir /usr/local/usrscripts
touch /usr/local/usrscripts/reboot-required.sh


Nun öffnen wir diesen Script mit einem Editor nach Wahl und füllen mit diesem Inhalt:

Bash
#!/bin/bash
if [ -f /var/run/reboot-required ]; then
echo "Ein Neustart des Servers `hostname` muss durchgeführt werden! Bitte baldmöglichst einen Neustart durchführen!" | mail -s "Neustart des Servers `hostname` erforderlich" euername@euerdomain.de
fi


und machen sie dann ausführbar:

Code
sudo chmod +x /usr/local/usrscripts/reboot-required.sh


Zum Schluss wird noch ein Cronjob angelegt, der dieses Skript einmal pro Tag ausführt. Dadurch wird einmal täglich überprüft ob ein Neustart nötig ist. Wenn ja, wird eine E-Mail versendet.


Dazu in:

Code
crontab -e

folgenden Eintrag hinzufügen um die Überprüfung täglich um dem Zeitpunkt eurer Wahl durchzuführen. In diesem Beispiel wird dieses Script jeden Tag um 07:00 Uhr ausgeführt:

Code
07 00 * * * /usr/local/usrscripts/reboot-required.sh


WICHTIG: Wenn der Server, auf dessen Dienste wie z.B. Webserver, Community, Gaming etc. laufen und von anderen Nutzern genutzt werden, so müssen bei einige Dienste oder Webanwendungen (wie Forensoftware, Online-Shops usw.) in Wartungsmodus versetzt werden und erst dann kann der Neustart durchgeführt. Am besten informiert man noch mindestens 24 Stunden (Empfohlen: Mindestens eine Woche) vorher, die Nutzer (oder auch Kunden), das der Server gewartet werden muss.

Kommentare