Nachtabsenkung mit Linux

Permalink

Shutdown

Nachts, so ab elf Uhr, brauche ich meinen Server Zuhause nicht mehr. Daher schalte ich ihn automatisch ab.

Für wiederkehrende Aufgaben gibt es in Linux das System Cron. In einer sogenannten Crontab werden die einzelnen Cronjobs aufgeführt. Von diesen Crontabs gibt es eine Systemweite und solche die einem Benutzer zugeordnet sind. Für meine Zwecke ist die Systemweite geeignet.

Der erste Schritt ist es ein Script zu schreiben das den Shutdown durchführt:

#!/bin/bash

/sbin/shutdown -h -t 10  now "Automatic Shutdown at 23:00"

Dieses Script habe ich in /etc/cron.d/shutdwon.sh gespeichert (natürlich als root, schließlich soll es ja als Systembestandteil agieren).

Jetzt muss nur noch der Job in der Crontab erstellt werden. Die Systemweite Crontab befindet sich in der Datei /etc/crontab. Hier kann ich jetzt eine Zeile hinzufügen:

# m h dom mon dow user  command
0 23   * * *   root    /etc/cron.d/shutdown.sh

die erste Zahl gibt hier die Minute an zu der der Job ausgeführt wird. Die zweite Zahl die Stunde. Die drei Sternchen stehen für „jeden Tag im Monat“, „jeder Monat“ und „jeder Wochentag“. Der Job wird als root ausgeführt und der auszuführende Befehl ist der Aufruf des Scripts „shutdown.sh“.

Übrigens wird der Job nicht nachgeholt wen der richtige Zeitraum verpasst wurde. In diesem Fall ist das auch so gewollt. Der Server soll sich ja nicht beim nächsten Hochfahren gleich wieder abschalten nur weil er um 23 Uhr zufällig aus war.

Notwendige Anpassungen

In der Crontab des Systems gibt vor meiner Ergänzung bereits einige Einträge. Diese führen alle Scripte die in speziellen Ordnern liegen stündlich, täglich, wöchentlich oder monatlich aus. Das Problem ist das die Scripte irgendwann mitten in der Nacht ausgeführt werden, also dann wenn der Server nach meiner Änderung aus sein wird. Daher ändere ich die jeweilige Uhrzeit auf eine frühere Zeit.

Startup

Das Mainboard das ich verwende lässt sich so konfigurieren das es zu einer bestimmten Zeit hochfährt. Einfach die Uhrzeit im BIOS einstellen und schon geht der Spaß morgens los.

Änderungshistorie

11.11.2017
Abschnitt zum Anpassen der Standardeinträge der systemweiten Crontab auf Zeiten die vor dem Schutdown liegen ergänzt.