Ein Tutorial für Linux-Anfänger mit Beispielen, wie sich Computer und Server unter Linux über Terminal-Befehle neu starten [reboot] und herunterfahren [shutdown] lassen. Das Betriebssystem verfügt über verschiedene Befehlszeilen-Kommandos für die Steuerung eines Linux-Computers.
Wir erhalten die Möglichkeit über das Terminal unterschiedliche Befehle auszuführen, die das System sofort neu starten oder zu einem gewünschten Zeitpunkt herunterfährt. Letzteres ist sehr praktisch, wenn das Hostsystem noch einige Aufgaben zu erledigen hat.
Die in diesem Beitrag beschriebenen Linux-Befehle funktionieren für alle Linux-Distributionen (Ubuntu, Debian, Mint, OpenSUSE, Fedora und Co.) gleichermaßen, da es sich bei den Befehlen für die Systemsteuerung um sogenannte Basis-Befehle aus der UNIX-Welt handelt. Zunächst zeige ich euch die zwei grundlegenden Befehle und anschließend erweitern wir die Terminal-Befehle noch über mögliche Parameter, Argumente und Funktionen.
Basis-Befehle: Wie wird ein Linux-System über die Befehlszeile gesteuert?
Das System herunterfahren:
shutdown
Das System neu starten:
shutdown -r
Alternativer Neustart-Befehl für Linux-Computer:
reboot
Hinweis: Der Parameter -r steht für den Zusatz „Reboot“. Ohne den Parameter wird der Linux-Computer ganz normal heruntergefahren. Wird der Parameter (-r) also hinter dem Befehl angehangen, erfolgt ein System-Neustart anstelle einer Abschaltung.
Verwenden wir eine Distribution wie Linux Ubuntu, müssen wir noch vor der Absendung des Terminal-Befehls (Commands), den sogenannten sudo-Prompt eingeben, damit wir über die notwendigen Berechtigungen für die System-Aktion verfügen.
Beispiel für Linux Ubuntu mit dem sudo-Prompt:
sudo shutdown
Mit den Shutdown und Reboot-Befehlen kann ein Linux-Hostsystem über die Kommandozeile heruntergefahren oder neu gestartet werden. Das Terminal kann direkt am angeschlossenen Bildschirm oder über einen Telnet-/SSH-Client bedient werden.
Ein System sofort herunterfahren oder neu starten
Vielleicht ist dir bei der Verwendung eines der oben beschriebenen Kommandozeilen-Befehle aufgefallen, dass dein Linux-Computer nicht sofort herunterfährt oder neu gestartet wird, sobald du die Commands abgeschickt hast. Die Befehlsanweisungen treten erst nach 60-Sekunden in Kraft. Das ist auch gewollt so, damit der Benutzer sich noch für einen Abbruch entscheiden kann.
Ein System-Neustart oder Shutdown kann wie folgt abgebrochen werden:
Shutdown- oder Reboot-Anweisung wieder abbrechen:
shutdown -c
In einigen Situationen möchten wir das warten aber gerne vermeiden und den Computer sofort und ohne eine Verzögerung herunterfahren. Die Befehle können mit Parametern erweitert werden, die dafür sorgen, dass ein System sofort neu startet oder heruntergefahren wird:
Das System sofort neu starten:
shutdown -r now
Das System sofort herunterfahren:
shutdown now
Linux mit einer Verzögerung oder zu einer bestimmten Uhrzeit herunterfahren oder neu starten
Mit den folgenden Erweiterungen kann ein Befehl so verwendet werden, dass dieser den Computer bzw. Server nach einer bestimmten Zeitangabe (Minuten) herunterfährt oder das System neu gestartet wird. Die eingebende Zahl, die wir hinter einem Befehl anhängen, bestimmt dabei die Verzögerung.
Das Linux-System in 30 Minuten herunterfahren:
shutdown -h 30
Das Linux-System in einer Stunde herunterfahren:
shutdown -h 60
Möchten wir das System erst zu einer bestimmten Uhrzeit herunterfahren oder neu starten, können wir auch eine Uhrzeit hinter den Befehlen für die Kommandozeile angeben. Viele Server verwenden solche Parameter in angelegten Cronjobs, um das System z.B. jeden Tag um 02:00 Uhr morgens einmal neu zu starten. Je nach Auslastung und installiertem Serverdienst, kann das zu einer erhöhten Performance führen.
Linux um 02:00 Uhr neu starten:
shutdown -r 02:00
Linux um 6:00 Uhr neu starten:
shutdown -r 6:00
Das System herunterfahren und angemeldeten Benutzern eine Wandnachricht anzeigen
Linux ist ein Mehrbenutzer-Betriebssystem. Was heißt das? Arbeiten mehrere Benutzer zur gleichen Zeit am selben Hostsystem, fliegen alle anderen User aus ihrer aktuellen Sitzung, wenn ein System heruntergefahren wird.
Für diesen Anlass gibt es die Möglichkeit, allen am System angemeldeten Benutzern über den geplanten Systemneustart rechtzeitig zu informieren. Damit die noch Arbeit zeitgerecht erledigt bzw. abgesichert werden kann. Dieser Vorgang wird auch Wandnachricht genannt.
Das System geplant herunterfahren und allen angemeldeten Benutzern eine Information zusenden:
shutdown -h 18:00 "Das System wird um 18 Uhr für eine kurze Wartung heruntergefahren."
Die Angabe von Uhrzeiten erfolgt unter Linux im 24-Stunden-Format nach dem folgenden Schema: Stunde/Minute. Möchten wir das System also um punktgenau 18:00 Uhr über das Terminal herunterfahren, kann dies, wie im oberen Beispiel erklärt, durchgeführt werden.
Benötigst du noch mehr Informationen über die Systemsteuerung?
Eine Hilfsansicht kann über die Linux-Shell aufgerufen werden, um mehr über die möglichen Operatoren und Parameter für die Systemsteuerung bei der Verwendung des Shutdown-Befehls zu erhalten. Wir haben in diesem Tutorial längst nicht alle Optionen besprochen. Rufe dafür den folgenden Befehl auf:
shutdown --help
Crontab für den regelmäßig geplanten System-Neustart unter Linux anlegen (Crontab Daily-Reboot)
Crontabs, im UNIX-Universum auch als Cronjobs bekannt, ermöglichen uns die zeitbasierte Ausführung von Prozessen auf dem Linux-Computer. Ein Cron-Daemon führt die zuvor eingepflegten Prozesse und Aufgaben zu festgelegten Zeiten oder Intervallen automatisiert aus.
Es können ganze Shell-Skripts oder auch einzelne Befehlsanweisungen, sowie Befehlsketten in der zuständigen Crontab-Datei hinterlegt werden. Anbei folgt eine kurze Anleitung, wie ein täglicher System-Neustart zu einer bestimmten Uhrzeit angelegt werden kann (Daily-Server-Reboot).
Verwende den Nano-Editor und öffne die folgende Datei über die Kommandozeile (Shell):
nano /etc/crontab
Alternative Erstellung eines Crontabs:
crontab -e
Server täglich um 3:00 Uhr morgens automatisiert neu starten:
0 3 * * * /sbin/shutdown -r now
Speichere die Änderungen ab (STRG + S) und verlasse die Datei wieder (STRG + X). Jetzt erfolgt täglich um 3:00 Uhr ein Reboot deines Linux-Servers. Möchtest du eine andere Uhrzeit für den Systemneustart angeben, kannst du dich an die folgende Anordnung orientieren:
0 3 * * * /sbin/shutdown
│ │ │ │ │
│ │ │ │ │__________ Wochentag (0 - 6)
│ │ │ |____________ Monat (1 - 12)
│ │ |______________ Tag des Monats (1 - 31)
│ |________________ Stunde (0 - 23)
|__________________ Minute (0 - 59)