DE EN IT

~/cheat-sheets / systemctl

systemctl Befehle

Praxiserprobte systemd-Befehle für den Alltag – durchsuchbar und mit einem Klick kopierbar. Für Units, Timer, Overrides und Boot-Analyse.

37 Befehle

Status & Steuerung

  • Zustand und letzte Logzeilen einer Unit

    systemctl status nginx
  • Unit starten

    sudo systemctl start nginx
  • Unit stoppen

    sudo systemctl stop nginx
  • Unit stoppen und neu starten

    sudo systemctl restart nginx
    ⚠ Vorsicht: verändert oder löscht Daten
  • Konfiguration neu laden, ohne zu stoppen

    sudo systemctl reload nginx
  • Kurzstatus: active, inactive oder failed

    systemctl is-active nginx
  • Prüfen, ob die Unit beim Boot startet

    systemctl is-enabled nginx

Autostart & Masking

  • Autostart beim Boot aktivieren

    sudo systemctl enable nginx
  • Autostart aktivieren und sofort starten

    sudo systemctl enable --now nginx
  • Autostart deaktivieren

    sudo systemctl disable nginx
  • Unit komplett sperren (auch als Abhängigkeit)

    sudo systemctl mask nginx
    ⚠ Vorsicht: verändert oder löscht Daten
  • Sperre aufheben

    sudo systemctl unmask nginx
  • Unit-Dateien nach Änderung neu einlesen

    sudo systemctl daemon-reload

Units finden & prüfen

  • Alle fehlgeschlagenen Units auflisten

    systemctl --failed
  • Laufende Dienste auflisten

    systemctl list-units --type=service --state=running
  • Unit-Datei inkl. Drop-ins anzeigen

    systemctl cat nginx
  • Abhängigkeiten einer Unit als Baum

    systemctl list-dependencies nginx

Journal-Hinweise

  • Logs einer Unit live verfolgen

    journalctl -u nginx -f
  • Meldungen der letzten Stunde

    journalctl -u nginx --since '1 hour ago'
  • Fehler seit dem letzten Boot

    journalctl -b -p err
  • Belegung des Journals auf der Platte

    journalctl --disk-usage

Timer

  • Alle Timer mit nächstem und letztem Lauf

    systemctl list-timers --all
  • Timer aktivieren und starten

    sudo systemctl enable --now backup.timer
  • Den zugehörigen Job einmal sofort ausführen

    sudo systemctl start backup.service
  • Timer-Zeile: täglich um 03:00 Uhr

    OnCalendar=*-*-* 03:00:00
  • Timer-Zeile: verpasste Läufe nach dem Boot nachholen

    Persistent=true
  • Zeitausdruck prüfen und nächsten Termin zeigen

    systemd-analyze calendar 'Mon *-*-* 06:00'

Overrides mit Drop-ins

  • Drop-in anlegen (überlebt Paket-Updates)

    sudo systemctl edit nginx
  • Alle lokalen Änderungen an der Unit verwerfen

    sudo systemctl revert nginx
    ⚠ Vorsicht: verändert oder löscht Daten
  • Drop-in [Service]: bei Fehler neu starten (mit RestartSec=5 nach 5 s)

    Restart=on-failure
  • Drop-in [Service]: Speicher auf 1 GB begrenzen

    MemoryMax=1G
  • Drop-in [Service]: geerbtes ExecStart leeren, danach neues setzen

    ExecStart=

Analyse & Targets

  • Gesamte Bootzeit anzeigen

    systemd-analyze
  • Die 15 langsamsten Units beim Boot

    systemd-analyze blame | head -n 15
  • Sandboxing-Bewertung einer Unit

    systemd-analyze security nginx
  • Ohne grafische Oberfläche booten

    sudo systemctl set-default multi-user.target
  • In den Rettungsmodus wechseln (beendet Dienste)

    sudo systemctl isolate rescue.target
    ⚠ Vorsicht: verändert oder löscht Daten

Neue Artikel per E-Mail

Eine E-Mail pro neuem Artikel. Kein Tracking, jederzeit abbestellbar. Als Dankeschön nach der Bestätigung: meine Checkliste „Server-Betrieb & Patching“ (PDF).