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
  1. 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
  1. sudo mkdir /usr/local/usrscripts
  2. touch /usr/local/usrscripts/reboot-required.sh


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

Shell-Script
  1. #!/bin/bash
  2. if [ -f /var/run/reboot-required ]; then
  3. 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
  4. fi


und machen sie dann ausführbar:

Code
  1. 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
  1. 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
  1. 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