journalctl liest die Logs, die systemd speichert. Vom Handy aus brauchen Sie nur eine SSH-Verbindung und eine Handvoll Optionen: -u nginx filtert nach Dienst, -f verfolgt die Ausgabe live, -b beschränkt auf den aktuellen Boot, --since grenzt nach Zeit ein, -p err zeigt nur Fehler und -n legt fest, wie viele Zeilen ausgegeben werden.

Die wichtigsten journalctl-Befehle, um einen Server vom Handy aus zu prüfen

journalctl -u nginx -f gibt die neuesten nginx-Einträge aus und wartet dann auf neue, genau wie tail -f bei einer Logdatei. Diese Befehle decken die meisten schnellen Prüfungen ab:

# Follow nginx live (Ctrl+C to quit)
journalctl -u nginx -f

# Last 50 nginx entries, no pager
journalctl -u nginx -n 50 --no-pager

# Everything since the current boot
journalctl -b

# Previous boot (needs a persistent journal)
journalctl --list-boots
journalctl -b -1

# Narrow by date or time
journalctl --since "2026-10-26 08:00" --until "2026-10-26 09:30"
journalctl -u nginx --since "1 hour ago"
journalctl --since today

# Errors or worse in this boot
journalctl -p err -b

# Combined: nginx errors in the last 10 minutes
journalctl -u nginx -p err --since "10 min ago"

Ist Ihr Benutzer weder in der Gruppe systemd-journal noch in adm, zeigt journalctl nur Ihre eigenen Einträge; stellen Sie sudo voran, um die System-Logs zu lesen. Alle Optionen sind in der Manpage von journalctl dokumentiert.

Wonach die journalctl-Optionen filtern: -u, -f, -b, --since, -p und -n

journalctl-Optionen werden mit UND-Logik kombiniert: journalctl -u nginx -b -p err liefert nur nginx-Fehler seit dem letzten Boot.

  • -u: filtert nach systemd-Unit. Akzeptiert nginx oder nginx.service und lässt sich wiederholen, um mehrere Units gemischt anzuzeigen.
  • -f: verfolgt das Journal live und gibt zuerst die letzten 10 Einträge aus.
  • -b: beschränkt die Ausgabe auf den aktuellen Boot; -b -1 ist der vorherige. Praktisch nach einem unerwarteten Neustart.
  • --since und --until: akzeptieren Zeitstempel im Format "YYYY-MM-DD HH:MM:SS" sowie Ausdrücke wie yesterday, today oder "2 hours ago".
  • -p: Syslog-Priorität von 0 (emerg) bis 7 (debug). -p err umfasst err, crit, alert und emerg.
  • -n: Anzahl der letzten Einträge. -n 100 verhindert, dass Tausende Zeilen einen kleinen Bildschirm überfluten.

Zwei weitere Optionen helfen auf einem schmalen Bildschirm: -r kehrt die Reihenfolge um, sodass die neuesten Einträge zuerst erscheinen, und -o cat gibt nur die Meldung aus, ohne Zeitstempel, Host oder Prozess, was Zeilenumbrüche reduziert.

journalctl auf iOS und Android im Vergleich zum Desktop: Vergleichstabelle

journalctl leitet seine Ausgabe an den Pager less weiter, der mit Bild-auf, Bild-ab, Ende und q bedient wird; die Systemtastatur des Handys hat keine dieser Tasten.

journalctl-AufgabeDesktopHandy mit SystemtastaturHandy mit termi1
-f beendenStrg+CKeine direkte Strg-TasteStrg-Taste auf der eigenen Tastatur
Im Pager blätternBild-auf, Bild-ab und EndeKeine Blättertastenfn-Ebene mit Bild-auf, Bild-ab, Pos1 und Ende
Unit-Namen vervollständigenTabKein TabEigene Tab-Taste
NetzwerkwechselStabile Kabel- oder WLAN-VerbindungSSH kann beim Wechsel ins Mobilfunknetz abbrechenMosh hält die Sitzung am Leben
-f weiterlaufen lassenFenster bleibt offenGeht verloren, wenn die Sitzung abbrichttmux hält es am Laufen

Mit jedem Client macht das Hinzufügen von --no-pager oder -n Blättertasten ganz überflüssig.

journalctl -f ohne Abbrüche: Mosh und tmux bei Netzwerkwechseln

Mosh nutzt UDP, standardmäßig auf den Ports 60000-61000, und startet mosh-server über eine anfängliche SSH-Verbindung; deshalb übersteht ein laufendes journalctl -u nginx -f den Wechsel von WLAN zu Mobilfunk.

Die Firewall des Servers muss diesen UDP-Bereich sowie den TCP-Port 22 von OpenSSH zulassen. Mosh bietet weder Portweiterleitung noch X11-Weiterleitung. Hat der Server keine öffentliche IP oder keine offenen Ports, macht ihn ein privates Mesh-Netzwerk von Prialo oder Tailscale erreichbar, ohne ihn offenzulegen.

Damit das Mitverfolgen auch nach dem Schließen der App weiterläuft, starten Sie es in tmux:

tmux new -s logs
journalctl -u nginx -f
# Ctrl+B then d to detach; when you come back:
tmux attach -t logs

termi1 kombiniert beides: Es hält die Sitzung mit Mosh am Leben und nutzt tmux, sodass alles, was Sie laufen gelassen haben, bei Ihrer Rückkehr noch da ist.

journalctl-Logs in eine Datei exportieren und per SFTP herunterladen

journalctl -u nginx --since today --no-pager > /tmp/nginx-today.log speichert die heutigen nginx-Einträge als reinen Text, bereit zum Anhängen an ein Ticket oder zum späteren Lesen.

Am Desktop können Sie die Datei mit scp abrufen, das seit OpenSSH 9.0 standardmäßig das SFTP-Protokoll verwendet. In termi1 ist SFTP integriert, sodass Sie die Datei ansehen und herunterladen können, ohne die Sitzung zu verlassen. Löschen Sie die Datei anschließend aus /tmp, wenn sie sensible Daten enthält.

Die KI von termi1 tippt den journalctl-Befehl ein, ohne Enter zu drücken

Die KI von termi1 verwandelt einen getippten oder diktierten Satz wie „nginx-Fehler der letzten Stunde“ in einen Befehl, der am Prompt eingetippt wird, ohne Enter zu drücken, sodass Sie die Flags vor dem Ausführen prüfen können.

Sie hat zwei Modi: „Review“, der niemals Enter drückt, und „Safe auto“, die Standardeinstellung, bei der nur eine begrenzte Auswahl als sicher erkannter Befehle Enter erhält. Bei Verbindungen, die als Produktion markiert sind, sorgt Production Guard dafür, dass nichts automatisch Enter erhält, und hält alles zurück, was etwas löscht, stoppt oder ändert, etwa ein systemctl restart nginx nach dem Lesen der Logs. Die KI öffnet nie die Sitzung und erhält weder Schlüssel noch Passwörter, und auf dem Handy erzeugte SSH-Schlüssel bleiben im sicheren Speicher des Systems. Erfahren Sie mehr über das SSH-, Mosh- und SFTP-Terminal, das Sie im App Store herunterladen können oder bei Google Play.

Häufig gestellte Fragen

Wie verfolge ich nginx-Logs mit journalctl in Echtzeit?

Nginx-Logs verfolgen Sie in Echtzeit mit journalctl -u nginx -f, das die letzten zehn Einträge ausgibt und neue anhängt, sobald sie eintreffen. Mit Strg+C beenden Sie die Ausgabe. Schreibt nginx zusätzlich nach /var/log/nginx, existieren diese Dateien getrennt vom Journal.

Was ist der Unterschied zwischen journalctl -b und journalctl -b -1?

journalctl -b zeigt die Einträge des aktuellen Boots, journalctl -b -1 dagegen die des vorherigen Boots. Letzteres funktioniert nur mit persistentem Journal, also wenn es in /var/log/journal gespeichert wird und nicht nur im Arbeitsspeicher. journalctl --list-boots listet die verfügbaren Boots auf.

Welche Prioritäten umfasst journalctl -p err?

journalctl -p err umfasst Meldungen der Priorität err (3) und aller schwerwiegenderen Stufen: crit, alert und emerg. warning, notice, info und debug bleiben außen vor. Kombiniert mit -b oder --since ist das der schnellste Weg zu sehen, was fehlgeschlagen ist, ohne jede Infozeile zu lesen.

Warum zeigt journalctl ohne sudo keine System-Logs an?

Ohne sudo zeigt journalctl nur die eigenen Einträge des Benutzers, wenn dieser weder zur Gruppe systemd-journal noch zur Gruppe adm gehört. Wird der Benutzer einer dieser Gruppen hinzugefügt, kann er das System-Journal lesen, ohne für jede Abfrage Rechte zu erhöhen. Die Änderung greift nach einer neuen Anmeldesitzung.