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
| Eingabe | Bedeutung | Beispiel |
|---|---|---|
now | Aktion so bald wie möglich ausführen | sudo shutdown -P now |
HH:MM | Absolute Uhrzeit im 24-Stunden-Format | sudo shutdown -P 23:00 |
+Minuten | Relative Zeitspanne ab jetzt | sudo 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
| Option | Wirkung | Typischer Anwendungsfall | Hinweise zur Systemabhängigkeit |
|---|---|---|---|
-r | Neustart | System nach Updates oder Wartung neu booten | Auf klassischen und systemd-Systemen üblich, genaue Umsetzung kann variieren. |
-h | System anhalten | Betriebssystem kontrolliert stoppen | Je nach Distribution oder Init-System kann dies einem Halt oder einem Ausschalten nahekommen. |
-P | Ausschalten anfordern | System vollständig herunterfahren | Für ein physisches Ausschalten meist eindeutiger als -h. |
-H | Halt ohne notwendiges Ausschalten | System anhalten, Stromversorgung getrennt behandeln | Nicht jede Implementierung unterstützt die Option; man shutdown prüfen. |
-c | Geplante Aktion abbrechen | Bereits terminierten Shutdown zurücknehmen | Funktioniert 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:
| Ziel | shutdown-Beispiel | systemctl-Alternative | Hinweis |
|---|---|---|---|
| Ausschalten | sudo shutdown -P now | sudo systemctl poweroff | Geordnetes Herunterfahren mit Ziel Stromabschaltung. |
| Neustarten | sudo shutdown -r now | sudo systemctl reboot | Beendet das laufende System und startet es neu. |
| Anhalten | sudo shutdown -h now | sudo systemctl halt | Halt bedeutet nicht auf jeder Hardware eine Stromabschaltung. |
| Geplante Aktion abbrechen | sudo shutdown -c | sudo systemctl cancel shutdown.target | Verfü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
- Auswirkung klären: Entscheide, ob ein Ausschalten, ein Neustart oder nur ein Halt erforderlich ist.
- Benutzer informieren: Nenne Grund, Startzeit, erwartete Dauer und gegebenenfalls Rückkehrzeit.
- Dienste prüfen: Kontrolliere Datenbanken, Transaktionen, Sicherungen, Warteschlangen und zeitkritische Jobs.
- 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.
- 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.
- 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
shutdownbeendet ein Linux-System kontrolliert und kann dabei ausschalten, anhalten oder neu starten.now,HH:MMund+Minutenlegen den Zeitpunkt fest.-rsteht für Neustart,-Pfür Ausschalten,-hfür Halt und-cfür das Abbrechen einer geplanten Aktion.- Eine Nachricht am Ende des Befehls informiert angemeldete Benutzer über Grund und Zeitplan.
- Auf systemd-Systemen sind
systemctl poweroffundsystemctl rebootoft 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.