VMware ESXi and vSphere Cluster Management

Linux shutdown-Befehl: System sicher herunterfahren, neu starten und planen

Lerne den Linux-shutdown-Befehl: System sicher ausschalten, neu starten oder anhalten, Aktionen planen und abbrechen sowie systemd-Alternativen verwenden.

Der Linux-Befehl shutdown beendet ein System kontrolliert. Je nach Option fährt er das System herunter, hält es an oder startet es neu. Dabei erhalten Dienste und Prozesse Gelegenheit, sauber zu enden, Daten zu synchronisieren und Dateisysteme auszuhängen.

Dieser geordnete Ablauf unterscheidet sich von einem sofortigen Stromverlust oder einem erzwungenen Ausschalten. Harte Maßnahmen können offene Schreibvorgänge unterbrechen und dadurch Datenverluste oder Dateisystemprobleme verursachen.

Voraussetzungen und Berechtigungen

Das Herunterfahren betrifft alle angemeldeten Benutzer und laufenden Dienste. Deshalb benötigt der Befehl normalerweise administrative Rechte und wird mit sudo ausgeführt:

sudo shutdown -P now

sudo führt einen einzelnen Befehl mit administrativen Rechten aus. Das Benutzerkonto muss dafür in der lokalen sudo-Konfiguration berechtigt sein.

Grundsyntax von shutdown

Die allgemeine Form lautet:

sudo shutdown [Option] Zeitangabe [Warnmeldung]

Die Zeitangabe legt fest, wann die Aktion ausgeführt wird. Sie ist bei vielen Implementierungen erforderlich; manche Versionen ergänzen bei fehlender Angabe einen Standardwert. Verwende deshalb am besten ausdrücklich now, eine Uhrzeit oder eine relative Zeitspanne. Die Warnmeldung steht am Ende und wird angemeldeten Benutzern angezeigt.

Zeitangaben im Überblick

EingabeBedeutungBeispiel
nowAktion so bald wie möglich ausführensudo shutdown -P now
HH:MMAbsolute Uhrzeit im 24-Stunden-Formatsudo shutdown -P 23:00
+MinutenRelative Zeitspanne ab jetztsudo shutdown -P +5

System sofort ausschalten oder neu starten

Kontrolliertes Ausschalten

Mit -P wird ein geordnetes Herunterfahren mit dem Ziel angefordert, die Stromversorgung auszuschalten:

sudo shutdown -P now

Die Dienste werden beendet, Daten werden synchronisiert und Dateisysteme werden nach Möglichkeit sauber ausgehängt.

Kontrollierter Neustart

Die Option -r startet das Betriebssystem nach dem geordneten Beenden neu:

sudo shutdown -r now

Ein Neustart ist beispielsweise nach Kernel- oder Systemkomponenten-Updates erforderlich. Im Unterschied zum Ausschalten muss das Gerät danach wieder booten und Netzwerk- sowie Verwaltungsdienste müssen erneut verfügbar werden.

Herunterfahren zu einem späteren Zeitpunkt

Eine absolute Uhrzeit wird im 24-Stunden-Format angegeben:

sudo shutdown -P 23:00

Für eine Wartezeit wird ein Pluszeichen vor der Minutenangabe verwendet:

sudo shutdown -P +5

Bei geplanten Aktionen kann das System angemeldete Benutzer vorab warnen. Die verbleibende Zeit gibt ihnen Gelegenheit, Arbeit zu speichern, Sitzungen zu beenden und laufende Aufgaben kontrolliert abzuschließen.

Wartungsmeldung anhängen

Eine frei formulierte Nachricht wird nach der Zeitangabe in Anführungszeichen ergänzt:

sudo shutdown -r +10 "Wartung: Neustart in 10 Minuten. Bitte Arbeit speichern."

Eine gute Meldung nennt knapp den Grund, das Wartungsfenster und möglichst die erwartete Rückkehrzeit. Beispiel:

sudo shutdown -P 22:00 "Wartung: System wird um 22:00 ausgeschaltet; Rückkehr voraussichtlich 22:30."

Aus Sicht eines betroffenen Benutzers erscheint eine Systemnachricht. Die verbleibende Zeit sollte genutzt werden, um Dateien zu speichern und Programme sowie Remote-Arbeiten sauber zu beenden.

Wichtige Optionen und ihre Bedeutung

OptionWirkungTypischer AnwendungsfallHinweise zur Systemabhängigkeit
-rNeustartSystem nach Updates oder Wartung neu bootenAuf klassischen und systemd-Systemen üblich, genaue Umsetzung kann variieren.
-hSystem anhaltenBetriebssystem kontrolliert stoppenJe nach Distribution oder Init-System kann dies einem Halt oder einem Ausschalten nahekommen.
-PAusschalten anfordernSystem vollständig herunterfahrenFür ein physisches Ausschalten meist eindeutiger als -h.
-HHalt ohne notwendiges AusschaltenSystem anhalten, Stromversorgung getrennt behandelnNicht jede Implementierung unterstützt die Option; man shutdown prüfen.
-cGeplante Aktion abbrechenBereits terminierten Shutdown zurücknehmenFunktioniert nur, solange die Aktion noch aussteht und von der passenden Implementierung verwaltet wird.

Die genaue Semantik unterscheidet sich zwischen klassischen SysV- beziehungsweise util-linux-Umgebungen und systemd-Umgebungen. Besonders bei -h und -H sollte die lokale Handbuchseite berücksichtigt werden:

man shutdown

Geplanten Shutdown abbrechen und prüfen

Eine noch ausstehende, mit shutdown geplante Aktion wird normalerweise so abgebrochen:

sudo shutdown -c

Auch beim Abbruch kann eine Nachricht übermittelt werden, sofern die verwendete Implementierung dies unterstützt:

sudo shutdown -c "Wartung abgebrochen; System bleibt in Betrieb."

Der Abbruch muss erfolgen, bevor der eigentliche Herunterfahrvorgang begonnen hat. Ist das Beenden von Diensten bereits angelaufen, kann shutdown -c den Ablauf nicht zuverlässig rückgängig machen.

Auf systemd-Systemen lassen sich ausstehende Jobs prüfen:

systemctl list-jobs

Wenn dort kein passender Job erscheint, kann die Aktion von einem Cron-Job, einem systemd-Timer, einem Automatisierungsdienst oder einer anderen Verwaltungssoftware stammen. Dann muss die auslösende Quelle identifiziert werden.

shutdown auf systemd-Systemen

systemd ist auf vielen Linux-Distributionen das Init- und Service-Management-System. shutdown arbeitet dort häufig mit systemd zusammen oder wird intern auf entsprechende systemd-Operationen abgebildet.

systemctl ist das Verwaltungswerkzeug für systemd. Für die interaktive lokale Administration sind die direkten Befehle oft eindeutiger:

Zielshutdown-Beispielsystemctl-AlternativeHinweis
Ausschaltensudo shutdown -P nowsudo systemctl poweroffGeordnetes Herunterfahren mit Ziel Stromabschaltung.
Neustartensudo shutdown -r nowsudo systemctl rebootBeendet das laufende System und startet es neu.
Anhaltensudo shutdown -h nowsudo systemctl haltHalt bedeutet nicht auf jeder Hardware eine Stromabschaltung.
Geplante Aktion abbrechensudo shutdown -csudo systemctl cancel shutdown.targetVerfügbarkeit und Verhalten der systemd-Methode sind distributionsabhängig; zuerst Jobs prüfen.

Für eine direkte Aktion sind beispielsweise diese Befehle geeignet:

sudo systemctl poweroff
sudo systemctl reboot
sudo systemctl halt

Systemweite Benachrichtigungen können über die von shutdown verwendete Benachrichtigungsfunktion oder über wall erfolgen. wall sendet eine Nachricht an angemeldete Terminals, ersetzt aber nicht die Planung eines Shutdowns und erreicht nicht zwangsläufig Benutzer ohne aktive Terminalsitzung.

shutdown, Halt, Poweroff und Reboot unterscheiden

  • shutdown: Kommando für einen geplanten, kontrollierten Übergang. Es kann anhalten, ausschalten oder neu starten.
  • Halt: Das Betriebssystem wird angehalten. Eine physische Abschaltung ist je nach Hardware, Firmware, Virtualisierung und Init-System nicht garantiert.
  • Poweroff: Das System wird geordnet beendet, mit dem Ziel, die Stromversorgung auszuschalten.
  • Reboot: Das Betriebssystem wird geordnet beendet und anschließend neu gestartet.

Ein klassisches SysV-Init-System verwendet unter anderem Runlevel für Betriebszustände. Auf systemd-Systemen werden diese Zustände weitgehend durch Targets ersetzt. Der Single-User-Modus ist ein wartungsorientierter Zustand mit eingeschränkter Mehrbenutzerfunktionalität; unter systemd entspricht ihm meist rescue.target. Diese Konzepte erklären, warum sich Optionen und Ausgaben auf verschiedenen Systemen unterscheiden können.

Sichere Betriebspraktiken für Arbeitsplätze und Server

  1. Auswirkung klären: Entscheide, ob ein Ausschalten, ein Neustart oder nur ein Halt erforderlich ist.
  2. Benutzer informieren: Nenne Grund, Startzeit, erwartete Dauer und gegebenenfalls Rückkehrzeit.
  3. Dienste prüfen: Kontrolliere Datenbanken, Transaktionen, Sicherungen, Warteschlangen und zeitkritische Jobs.
  4. Mounts und Daten prüfen: Stelle sicher, dass Dateisysteme geordnet ausgehängt werden können. Beim Aushängen wird ein eingehängtes Dateisystem sauber vom System getrennt, damit Schreibvorgänge abgeschlossen sind.
  5. Sitzungen beenden lassen: Auf Servern sollten Benutzer ihre SSH-Sitzungen und Arbeiten abschließen. Für kritische Systeme können Wartungsmodus, Konsolenzugang oder Out-of-Band-Management erforderlich sein.
  6. Ergebnis kontrollieren: Nach einem Neustart oder beim nächsten Zugriff sollten Systemzustand, Dienste, Logs und gegebenenfalls Dateisystemprüfungen kontrolliert werden.

Ein hartes Ausschalten sollte nur die letzte Option bei einem blockierten System sein. Es kann Prozesse abrupt beenden, Daten verlieren und Dateisystemprüfungen auslösen. Nach einer solchen Maßnahme sind insbesondere Systemprotokolle, Dienststatus und der Zustand wichtiger Dateisysteme zu prüfen.

Fehlerbehebung

„Permission denied“ oder fehlende Berechtigung

Der Befehl wurde wahrscheinlich ohne administrative Rechte ausgeführt oder das Konto darf sudo nicht verwenden. Führe ihn mit sudo aus und prüfe die lokale Administrationsrichtlinie. Ohne ausdrückliche Berechtigung sollte kein fremdes System heruntergefahren werden.

shutdown verlangt eine Zeitangabe

Die Zeitangabe wurde ausgelassen, falsch formatiert oder die lokale Implementierung erwartet eine andere Syntax. Verwende now, eine Uhrzeit wie 14:30 oder eine relative Angabe wie +5. Die lokale Dokumentation ist maßgeblich:

man shutdown

Das Gerät hält an, schaltet sich aber nicht aus

halt und poweroff haben unterschiedliche Bedeutungen. Zusätzlich können ACPI-, Firmware- oder Virtualisierungseinstellungen die Stromabschaltung beeinflussen. Verwende für ein Ausschalten -P oder systemctl poweroff und prüfe anschließend die Hardware- oder VM-Konfiguration.

Ein geplanter Shutdown lässt sich nicht abbrechen

Die Aktion könnte bereits begonnen haben, von einem anderen Werkzeug stammen oder durch systemd beziehungsweise einen Scheduler verwaltet werden. Versuche zunächst:

sudo shutdown -c
systemctl list-jobs

Prüfe anschließend Cron-Jobs, systemd-Timer und Automatisierungsdienste.

Benutzer wurden nicht rechtzeitig informiert

Ursachen können eine fehlende Warnmeldung, eine zu kurze Vorlaufzeit oder nicht aktiv angemeldete Benutzer sein. Verwende eine klare Meldung mit ausreichender Vorlaufzeit und kündige kritische Wartungen zusätzlich über den vorgesehenen Kommunikationskanal an.

Remote-Verbindung wird getrennt

Ein Neustart oder Ausschalten beendet SSH-Sitzungen zwangsläufig. Schließe laufende Arbeiten vorher ab, plane den Wiederzugang und halte bei kritischen Servern einen Konsolen- oder Out-of-Band-Zugang bereit.

Nach hartem Ausschalten treten Dateisystemprobleme auf

Prozesse und Dateisysteme konnten wahrscheinlich nicht geordnet beendet werden. Verwende im Normalfall shutdown oder systemctl. Nach einer erzwungenen Abschaltung kontrollierst du Logs, Dateisystemzustand und wichtige Dienste besonders sorgfältig.

Praktische Befehlsübersicht

# Sofort kontrolliert ausschalten
sudo shutdown -P now

# Sofort kontrolliert neu starten
sudo shutdown -r now

# Um 23:00 Uhr ausschalten
sudo shutdown -P 23:00

# In fünf Minuten ausschalten
sudo shutdown -P +5

# In zehn Minuten mit Warnung neu starten
sudo shutdown -r +10 "Wartung: Neustart in 10 Minuten. Bitte Arbeit speichern."

# Geplanten Shutdown abbrechen
sudo shutdown -c

# systemd-Alternativen
sudo systemctl poweroff
sudo systemctl reboot
sudo systemctl halt

# Ausstehende systemd-Jobs prüfen
systemctl list-jobs

Das Wichtigste im Überblick

  • shutdown beendet ein Linux-System kontrolliert und kann dabei ausschalten, anhalten oder neu starten.
  • now, HH:MM und +Minuten legen den Zeitpunkt fest.
  • -r steht für Neustart, -P für Ausschalten, -h für Halt und -c für das Abbrechen einer geplanten Aktion.
  • Eine Nachricht am Ende des Befehls informiert angemeldete Benutzer über Grund und Zeitplan.
  • Auf systemd-Systemen sind systemctl poweroff und systemctl reboot oft die klareren direkten Alternativen.
  • Vor jedem Shutdown müssen Arbeit, Dienste, Transaktionen, Sicherungen, Mounts und Remote-Zugänge geprüft werden.

Siehe auch: Shutdown-Befehl unter Linux.