Linux-Server automatisch starten

Computer sollen regelmäßig Dinge regelmäßig tun. Das liegt in der „Natur“ dieser Maschinen und macht dem Mensch das Leben leichter: Automatisierte Backups, Zeitsynchronisation, Online-Check … Für die immer wiederkehrende Ausführung von Befehlen und Skripten gibt es den Cron-Dienst, eine DER Standard-Anwendungen auf (fast) jedem Linux-System. Damit der Cron-Dienst Aufgaben anstoßen kann, muss der Rechner jedoch laufen. Klar, bei einem Server, der jeden Tag 24 Stunden durchläuft, muss man sich darüber keine Gedanken machen. Ich hatte jetzt jedoch die Situation, dass einer meiner Home-Server (Ubuntu 14.4, Server Edition), den ich bisher nur händisch hochfahre, wenn ich ihn brauche, zu festgelegten Tageszeiten von allein aufwachen sollte, und zwar an unterschiedlichen Wochentagen zu unterschiedlichen Zeiten. Das erledigt nun folgendes Skript, das beim Hochfahren des Systems automatisch gestartet wird.

Das Skript fußt im Kern auf rtcwake. Das Programm rtcwake ist in jeder Ubuntu-Standardinstallation vorhanden und im Paket util-linux enthalten.

/usr/bin/aufwecken

Die Handhabung des Skripts ist denkbar einfach: Weckzeiten anpassen, fertig. Bitte auf das korrekte Format achten: HH:MM.

Das Skript liegt bei mir unter dem Namen aufwecken im Verzeichnis /usr/bin und braucht zwei „Hilfsdateien“. Zum einen eine (in meinem Fall versteckte, in meinem Home-Verzeichnis befindliche) Datei, die das Skript zeitgesteuert später noch einmal ausführt, wenn die aktuelle Zeit beim Booten vor der Weckzeit des aktuellen Tages liegt (siehe Aufruf in Zeile 40 des Haupt-Skriptes):

/home/tobias/.aufwecken

Man beachte die Umlenkung der Standardausgabe stout in die Log-Datei /home/tobias/rtcwake.log. Verzeichnis und Name der Log-Datei kann natürlich frei gewählt werden.

Die zweite Hilfsdatei ist das Konfiguration-File für Upstart, die dafür sorgt, dass das Skript bei jedem Hochfahren des Rechners aufgerufen wird:

/etc/init/aufwecken.conf

Auch hier kann die Log-Datei frei gewählt werden, am besten sollte diese natürlich identisch sein mit der .aufwecken angegebenen Log-Datei. Bei jedem Aufruf des Skripts wird ein entsprechender Eintrag an die Log-Datei angehängt.

In meinem Anwendungsfall soll der Rechner jeden Tag starten. Natürlich ist es denkbar, eine Abfangroutine einzubauen, wenn der Computer an einem Tag mal ausbleiben soll. Aber ich brauche das so nicht, deshalb habe ich diese Funktionalität erstmal rausgelassen. Ein schickes Feature wären auch mehrere Weckzeiten pro Tag. Später vielleicht …

Repository zu diesem Skript:
https://github.com/Terminal-Geek/wake-up

FacebooktwitterredditpinterestlinkedinFacebooktwitterredditpinterestlinkedin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


*