2436075

Linux-PC automatisch abschalten & starten - so geht's

10.07.2019 | 10:33 Uhr | Hermann Apfelböck

Weder Desktop-PCs noch Serverdienste müssen permanent laufen, wenn es eindeutige Zeiten gibt, wo keiner sie nutzt. Manuelles Abschalten ist die übliche Lösung, komfortabler aber sind der automatische Shutdown und ein zeitgesteuerter Neustart.

Wenn ein Datenserver zwischen 22:00 Uhr abends und 8:00 Uhr morgens garantiert nicht gebraucht wird, liegt es nahe, ihn für diese zehn Stunden abzuschalten. Das spart nicht nur Strom, sondern verlängert auch die Lebenszeit der Hardwarekomponenten. Das zeitgesteuerte Ausschalten ist per Cronjob eine leichte Übung, aber optimal wird der Hardwareschlaf erst, wenn auch das Aufwachen ohne manuellen Eingriff des (Home-)Administrators gelingt.

Rtcwake: Unterschätztes Standardwerkzeug

Das einschlägige Tool, um einen Rechner komplett auszuschalten (oder – falls unterstützt – in einen ACPI-Ruhezustand zu versetzen) und ihn zur gewünschten Zeit wieder zu starten, ist auf praktisch jedem Linux-System vorinstalliert. Rtcwake ist Bestandteil des Standardpakets „util-linux“. Das „rtc“ im Toolnamen steht für Real Time Clock und bezieht sich auf die physikalische Hardwareuhr.

Diese läuft auch, wenn die Hardware in einem Ruhezustand oder komplett ausgeschaltet ist und kann den Neustart auslösen, wenn ein definierter Zeitpunkt erreicht ist. Unter Linux ist dieser Zeitpunkt standardmäßig in der Datei „/sys/class/ rtc/rtc0/wakealarm“ abgelegt und das Tool rtcwake ist das Werkzeug, diesen Zeitpunkt vorzugeben.

Im einfachsten Fall sieht ein Kommando folgendermaßen aus:

sudo rtcwake -m off -s 180 

Der Befehl ist gut geeignet, um zu testen, ob die Hardware prinzipiell mitspielt. sudo oder root-Recht ist immer erforderlich. Der Schalter „-m“ bestimmt den ACPI-Modus. Mögliche Werte sind „standby“, „mem“, „disk“, „off“ und „no“. Letzteres „no“ kann dazu dienen, einen Aufwachzeitpunkt festzulegen, ohne den Rechner in irgendeiner Weise zu beenden. „standby“, „mem“, „disk“ sind Suspendvarianten unterschiedlicher Schlaftiefe. Für unsere Zwecke einschlägig ist „off“, welches das System komplett herunterfährt.

Der Aufwachzeitpunkt: Die Arbeitsweise von rtcwake ist eigentlich simpel.
Vergrößern Der Aufwachzeitpunkt: Die Arbeitsweise von rtcwake ist eigentlich simpel.

Als zweiter Parameter ist hier „-s“ („seconds“) mit einer nachfolgenden Zeitangabe in Sekunden angegeben. Der Befehl wird also, wenn die Hardware mitspielt, das System komplett beenden und dann nach drei Minuten neu starten (180 Sekunden). Wir empfehlen, den geplanten Neustart immer mit diesem Parameter „-s […]“ anzugeben, selbst wenn es sich um viele Stunden handelt. Es ist wenig Mühe, etwa neun Stunden in Sekunden umzurechnen (9*3600=32 400).

Mit dem Schalter „-t“ („time“) ist auch eine exakte Zeitangabe möglich. Da diese Zeitangabe immer in Linux-Sekunden seit dem 1.1.1970 zu berechnen ist, muss in der Regel eine Date-Variable aushelfen: 

sudo rtcwake -m off -t $(date +%s -d 'tomorrow 08:00') 

Dies würde den Rechner ausschalten und am nächsten Tag um 8:00 Uhr wieder einschalten. Achten Sie beim Hantieren mit Schalter „-t“ darauf, dass bei einem Herunterfahren nach Mitternacht „today“ statt „tomorrow“ gewählt werden muss. Aber wie schon angesprochen: Eine Zeitangabe in Sekunden mit Schalter „-s“ ist stets der einfachere Weg.

Siehe auch: Kleines ABC der Linux-Systemwartung

Rtcwake als Cronjob 

Rtcwake fährt den Rechner herunter und legt den Zeitpunkt des Neustarts fest.
Vergrößern Rtcwake fährt den Rechner herunter und legt den Zeitpunkt des Neustarts fest.

Da rtcwake root-Recht erfordert, müssen solche Befehle in der Crontab von root untergebracht werden (in einer User-Crontab würde der Befehl einfach ignoriert). Die Crontab von root bearbeiten Sie mit folgendem Kommando: 

sudo crontab -e -u root 

Wenn in der crontab keine PATH-Anweisung steht, ist die volle Pfadangabe zum benötigten Kommando erforderlich: 

0 1 * * * /usr/sbin/rtcwake -m off -s 30600 

Dieser Befehl schaltet den Rechner um 1:00 Uhr nachts ab und startet ihn wieder nach 30 600 Sekunden, das sind 8,5 Stunden und somit exakt um 9:30 Uhr. Die Pfadangabe „/usr/sbin/rtcwake“ sollte auf jedem Linux zutreffen, kann aber mit 

which rtcwake 

vorsichtshalber vorab geprüft werden.

Anleitung: Linux-Server rundherum absichern  

Rtcwake funktioniert nicht mit jeder Hardware 

Wenn die Rechnerhardware den Start mit rtcwake nicht mitmacht, können Zeitschaltstecker aushelfen.
Vergrößern Wenn die Rechnerhardware den Start mit rtcwake nicht mitmacht, können Zeitschaltstecker aushelfen.

Während PCs, Notebooks und auch Platinenrechner wie der Odroid XU4 den beschriebenen Einschlaf-Aufwach-Automatismus zuverlässig mitspielen, ist die Methode leider nicht überall tauglich. So beantwortet etwa der Raspberry 3 rtcwake generell mit einer Fehlermeldung, während ein Odroid U3 zwar herunterfährt, aber nicht planmäßig startet. Letztlich hilft nur Ausprobieren. Was per root-Crontab in jedem Fall funktioniert (sudo crontab -e -u root), ist der zeitgesteuerte Shutdown – im folgenden Beispiel wieder um 1:00 Uhr nachts: 

0 1 * * * /sbin/shutdown now 

Da Platinenrechner typischerweise booten, wenn die Stromzufuhr zunächst unterbrochen und zur passenden Zeit wieder eingeschaltet wird, kann man sich für den zeitgesteuerten Neustart mit einer einfachen mechanischen oder digitalen Zeitschaltuhr behelfen (ab fünf Euro).

Wer die Aufgabe ganz schick lösen will, kann auch eine intelligente Funksteckdose verwenden. Fritzbox-Besitzer erhalten für 40 Euro den flexiblen Stecker Fritz Dect 200, der sich über die Fritzbox-Konfiguration („Heimnetz –› Smart Home“) komfortabel einstellen lässt.

Egal, ob primitive mechanische Zeitschaltuhr oder vergleichsweise edle Funksteckdose: Beachten Sie immer, den Zeitpunkt des ordentlichen Systemshutdowns über die Crontab einige Minuten früher zu legen als das Abschalten der Stromversorgung.

Die Themen in Tech-up Weekly #158:

► (00:28) AMD Ryzen 9 3950X - neue Gaming-CPU mit 16 Kernen:
www.pcwelt.de/news/AMD-Ryzen-9-3950X-Neue-Gaming-CPU-mit-16-Kernen-10607792.html

► (02:50) Spiele-Abos von Microsoft…: www.pcwelt.de/news/Xbox-Game-Pass-fuer-Windows-PCs-mit-100-Spielen-gestartet-10607682.html

►…und Ubisoft:
www.pcwelt.de/news/Uplay-Alle-Ubisoft-PC-Spiele-fuer-14-99-Euro-Monat-10607757.html

► (04:51) Xbox Project Scarlett: www.pcwelt.de/news/Xbox-Scarlett-mit-8K-und-Raytracing-Unterstuetzung-10607631.html

► (06:21) Mozilla: Firefox-Browser soll Premium-Modell erhalten
www.pcwelt.de/news/Mozilla-Firefox-Browser-soll-Premium-Modell-erhalten-10607922.html

(07:45) Quick-News:

► 5G-Auktion beendet - Bund erhält 6,5 Milliarden Euro: www.pcwelt.de/news/5G-Auktion-ist-beendet-Bund-erhaelt-6-5-Milliarden-Euro-10609451.html

► Google ist nicht mehr die wertvollste Marke der Welt: www.pcwelt.de/news/Google-nicht-mehr-wertvollste-Marke-der-Welt-10608186.html

► AMD Radeon RX 5700 (XT): Navi-Grafikkarten schneller & günstiger als Nvidia GeForce RTX: www.pcwelt.de/news/AMD-Radeon-RX-5700-XT-Navi-Grafikkarten-schneller-guenstiger-als-Nvidia-GeForce-RTX-10608123.html

► Bundeswehr will deutsche Laserkanone einsetzen: www.pcwelt.de/news/Bundeswehr-will-deutsche-Laserkanone-einsetzen-10608661.html

► Nintendo Switch: The Witcher 3 und neues Zelda-Spiel angekündigt:
www.pcwelt.de/news/Nintendo-Switch-The-Witcher-3-und-neues-Zelda-Spiel-angekuendigt-10608697.html

► Dropbox erhält ein großes Update - künftig alles auf einer Oberfläche:
www.pcwelt.de/news/Dropbox-erhaelt-ein-grosses-Update-kuenftig-alles-auf-einer-Oberflaeche-10608773.html

► (09:54) Kommentar der Woche

(10:46) Fail der Woche:

► Nach WC-Stream: "DrDisrespect" von Twitch gebannt:

www.pcwelt.de/news/Nach-WC-Stream-DrDisrespect-von-Twitch-gebannt-10609237.html

► Zum PC-WELT T-Shirt-Shop:
www.pcwelt.de/fan


0 Kommentare zu diesem Artikel
2436075