Am 28. November 2019, nach einigen wiederholten Windows 7 Abstürzen und dem immer näher rückenden Windows 7-Support-Ende zum 14. Januar 2020, fing ich an, mich nach Alternativen umzusehen. Mac kam nicht infrage. Aus Überzeugung und den unverschämt hohen, übertriebenen Preisen. Windows 10 hätte für mich auch eine Beschaffung neuer Hardware zur Folge. Seitens Linux kannte ich nur testweise Ubuntu, das auf meinem Desktop-PC parallel zu Windows installiert war.
Am 14. Januar dieses Jahres hat Microsoft den Windows 7 Support eingestellt und liefert seitdem keine Sicherheitsupdates mehr für das meistgenutzte Betriebssystem. Der Upgrade auf Windows 8 oder 10 ist nicht jedermann Geschmacksache. Die Einen bleiben trotzdem bei Windows 7 und nehmen das Risiko einer Viren-Infektion in Kauf, die Anderen suchen nach Alternativen. Die steigenden macOS-Verkaufszahlen bezeugen dass sich viele für den sauren Apfel entschieden haben. Aber wie sieht es mit Linux aus? Es ist schließlich kostenlos, sicher und mittlerweile benutzerfreundlich!
Einige Internetnutzer haben Probleme mit der Internetverbindung und würden gerne wissen wann die Verfügbarkeit nicht da war. Ist man unterwegs oder schläft nachts bekommt man es gar nicht mit. Es wäre also nützlich eine Log-Datei zu haben, in der man die Unterbrechungen einsehen kann. Oder noch besser per E-Mail darüber informiert werden.
CheckHost ist ein BASH-Shell Skript zur Überwachung der Verfügbarkeit von Netzwerkgeräten und/oder der Internetverbindung. Das Skript basiert auf dem ubuntuusersPing-Alive Beispiel und wurden mit einem zusätzlichen Parameter für den Hostbezeichner erweitert, der die Zuordnung der E-Mail-Benachrichtigungen vereinfacht. Es wurde auch die Protokollierung der ping-Anfragen in dem Verzeichnis /var/log/checkhost hinzugefügt. Die Log-Dateien werden täglich neu erstellt und älter als 30-Tage gelöscht. Zum Versenden der E-Mail-Benachrichtigungen wird standardmässig der sendmail-Befehl benutzt, der zum Beispiel von sSMTP und Postfix verwendet wird (weitere MTA’s wurden nicht getestet).
Skript-Ablauf
CheckHost-Skript-Flussdiagramm
Das Skript sendet in regelmäßigen Abständen eine ping-Anfrage an den im ersten Parameter angegebenen Host. Wenn die Verbindung zum Host abgebrochen oder wiederhergestellt wurde, schickt das Skript eine E-Mail-Benachrichtigung an die als den zweiten Parameter übergebenen Adressen. Das Abfrageintervall ist von der Einstellung des Cronjobs während der Installation abhängig und kann beliebieg angepasst werden.
Die E-Mail-Benachrichtigungen werden mit dem Befehl sendmail verschickt. Bei dem Mail Transfer Agent (MTA) Postfix ist es ein eigenständiges Tool. sSMTP erstellt bei der Installation eine sendmail-Verknüpfung auf sich selbst, so dass eine zusätzliche Installation von Postfix nicht notwendig ist. Um die E-Mails zu senden ist das Ressourcen schonende sSMTP die bessere Wahl (zum Beispiel auf einen Raspberry Pi).
Voraussetzungen
Für die Ausführung des Skripts sind folgende, installierte Software vorausgesetzt:
host – IP-Adresse oder Domäne recipients – eine oder mehrere E-Mail-Adressen für die Benachrichtigungen. Mehrere Adressen werden mit Komma getrennt und in einfache Einführungsstriche eingeschlossen (‘egon@gmx.de,ziggi@arcor.de’) hostname – (optional) der Name oder eine Beschreibung des Hosts. Dieser wird so in den E-Mails für eine bessere Zuordnung gennant. Namen mit Leerzeichen sollen in einfache Anführungszeichen eingeschlossen werden.
Möchte man weitere Hosts überwachen, einfach eine zusätzliche Zeile mit der Host-IP und gegebenfalls einem anderen Hostnamen in die Crontab hinzufügen.
Ausführung
Das checkhost.sh Skript wird je nach cronjob-Einstellungen regelmäßig oder manuell ausgeführ. Solange die Verbindung zum Host existiert, wird nur die ping-Ausgabe in die Log-Datei geschrieben. Ist der Host nicht mehr erreichbar, wird zusätzlich eine E-Mail-Benachrichtigung verschickt (grün unterstrichen ist der als dritter Parameter angegebene Hostbezeichner).
E-Mail Benachrichtigung wenn der Host nicht verfügbar!
Solange der Host auf die ping-Anfragen nicht antwortet, werden nur die Log-Informationen geschrieben. Beim Wiederaufbau der Verbindung wird zusätzlich eine E-Mail-Benachrichtigung verschickt. Sie enthält unter anderen das Datum und die Uhrzeit, wann der Host nicht mehr erreichbar und wie lange er offline war.
E-Mail Benachrichtigung wenn der Host wieder verfügbar!
Test
Zuerst die Log-Datei (/var/log/checkhost/checkhost-xxx.xxx.xxx.xxx_YYYY-MM-DD.log) überprüfen, ob regelmäßig nach dem vorgegebenen Intervall die ping-Ausgabe geschrieben wird.
Bei einer Überwachung der Internetverfügbarkeit reicht es die Internetverbindung zu trennen. Zum Beispiel durch das Abziehen des LAN-Kabels, WLAN Abschaltung oder das Deaktivieren der Internetverbindung in der Netzwerkkonfiguration.
Bei Netzwerkgeräten kann entweder wie bei Internet vorgegangen oder nur das betroffene Gerät vom Netzwerk getrennt oder ausgeschaltet werden.
Nach dem im Cronjob vorgegebenen Zeitintervall die Verbindung wieder herstellen und die E-Mail-Benachrichtigung abwarten.
Bei einer Internetverfügbarkeitsüberwachung, anders als bei Netzwerkgeräten, wird die E-Mail-Benachrichtigung über die Host-Verbindungstrennung erst empfangen wenn die Verbindung wieder hergestellt wurde. Logischerweise kann ohne einen Internetzugriff keine E-Mail verschickt werden.
War diese Seite für dich informativ? Hat sie dir gefallen und geholfen?
Dann unterstütze die Weiterentwicklung mit einer kleinen Spende!
Die Spenden werden für die Lizenzen sowie neue Hard- und Software verwendet, die für weitere Projekte auf dieser Webseite eingesetzt werden. Die Werbung alleine deckt gerade mal die Server Kosten.
GRUB 2 ist die zweite Bootloader – Generation des populären Vorgängers GNU GRUB (GRand Unified Bootloader), der ursprunglich in 1995 von Erich Boleyn entwickelt und mit der Veröffentlichung vom GRUB 2 zum GNU GRUB Legacy umbennant wurde. Der Name GNU GRUB bezieht sich jetzt auf den GRUB 2. Seit der letzten offiziellen GRUB Legacy Version 0.97 vom 07. Mai 2005 wird dieser nicht mehr weiterentwickelt und unterstützt.
In 2002 startete Yoshinori K. Okuji das Forschungsprojekt PUPA (Preliminary Universal Programming Architecture for GNU GRUB) mit dem Ziel den GRUB-Kern zu verbessern und ihn sauberer, sicherer, robuster, leistungsfähiger und portabler zu machen. Schließlich wurde das PUPA-Projekt am 7. August 2005 zu dem ersten GRUB 2 Pre-Release 1.90.
Die Versionsnummern 1.9x, die oft zu Verwierrung bezüglich der Generation führen, bezeichnen die Vorabveröffentlichungen der GRUB 2 Version 2.00, die am 19. Mai 2013 endgültig fertiggestellt wurde.
Der GRUB 2 ist eine komplette Neuentwicklung und obwohl einige Module oder ihre Teile von dem Vorgänger übernommen wurden, zum GRUB Legacy nicht abwärtskompatibel. Die aktuelle Version ist die 2.02.
Ab 2007 fingen die ersten GNU/Linux – Distributionen an, den GRUB 2 als Erweiterung und ab dem Ende 2009 standardmäßig in ihre Installationspakete aufzunehmen. So zum Beispiel:
War diese Seite für dich informativ? Hat sie dir gefallen und geholfen?
Dann unterstütze die Weiterentwicklung mit einer kleinen Spende!
Die Spenden werden für die Lizenzen sowie neue Hard- und Software verwendet, die für weitere Projekte auf dieser Webseite eingesetzt werden. Die Werbung alleine deckt gerade mal die Server Kosten.