journalctl lee los registros que guarda systemd. Desde el móvil basta con conectarse por SSH y combinar pocas opciones: -u nginx filtra por servicio, -f sigue en directo, -b limita al arranque actual, --since acota por fecha, -p err muestra solo errores y -n fija cuántas líneas ver.
Comandos journalctl esenciales para revisar un servidor desde el móvil
journalctl -u nginx -f muestra las últimas líneas del servicio nginx y se queda esperando las nuevas, igual que tail -f sobre un archivo de log. Estos comandos cubren casi todas las revisiones rápidas:
# Seguir nginx en directo (Ctrl+C para salir)
journalctl -u nginx -f
# Últimas 50 líneas de nginx, sin paginador
journalctl -u nginx -n 50 --no-pager
# Todo lo registrado desde el arranque actual
journalctl -b
# Arranque anterior (requiere journal persistente)
journalctl --list-boots
journalctl -b -1
# Acotar por fecha u hora
journalctl --since "2026-10-26 08:00" --until "2026-10-26 09:30"
journalctl -u nginx --since "1 hour ago"
journalctl --since today
# Solo errores o algo peor en este arranque
journalctl -p err -b
# Combinado: errores de nginx en los últimos 10 minutos
journalctl -u nginx -p err --since "10 min ago"Si tu usuario no pertenece a los grupos systemd-journal o adm, journalctl solo enseña tus propios registros; antepón sudo para ver los del sistema. La referencia completa de opciones está en la página de manual de journalctl.
Qué filtra cada opción de journalctl: -u, -f, -b, --since, -p y -n
Las opciones de journalctl se combinan con lógica Y: journalctl -u nginx -b -p err devuelve solo los errores de nginx desde el último arranque.
-u: filtra por unidad de systemd. Aceptanginxonginx.servicey puede repetirse para ver varias unidades intercaladas.-f: sigue el journal en directo; antes muestra las 10 últimas entradas.-b: limita al arranque actual;-b -1es el anterior. Útil tras un reinicio inesperado.--sincey--until: aceptan fechas"AAAA-MM-DD HH:MM:SS"y expresiones comoyesterday,todayo"2 hours ago".-p: prioridad syslog de 0 (emerg) a 7 (debug).-p errincluye err, crit, alert y emerg.-n: número de entradas finales.-n 100evita volcar miles de líneas en una pantalla pequeña.
En pantalla estrecha ayudan dos opciones más: -r invierte el orden para leer primero lo más reciente y -o cat muestra solo el mensaje, sin fecha, host ni proceso, lo que reduce los saltos de línea.
journalctl en iOS y Android frente al escritorio: tabla de diferencias
journalctl abre su salida en el paginador less, que se maneja con PgUp, PgDn, Fin y q; el teclado del sistema del móvil no trae esas teclas.
| Tarea con journalctl | Escritorio | Móvil con teclado del sistema | Móvil con termi1 |
|---|---|---|---|
Salir de -f | Ctrl+C | Sin tecla Ctrl directa | Tecla Ctrl en el teclado propio |
| Recorrer el paginador | PgUp, PgDn y Fin | Sin teclas de página | Plano fn con PgUp, PgDn, Inicio y Fin |
| Completar nombres de unidad | Tab | Sin Tab | Tecla Tab dedicada |
| Cambio de red | Conexión estable por cable o wifi | SSH puede cortarse al pasar a datos | Mosh mantiene la sesión |
Dejar -f corriendo | Ventana abierta | Se pierde si se cae la sesión | tmux conserva lo que sigue corriendo |
Con cualquier cliente, añadir --no-pager o -n evita depender del paginador cuando faltan teclas.
journalctl -f sin cortes: Mosh y tmux al cambiar de red
Mosh usa UDP, por defecto en los puertos 60000-61000, y arranca mosh-server a través de una conexión SSH inicial; por eso un journalctl -u nginx -f sigue vivo al pasar de wifi a datos.
El cortafuegos del servidor debe permitir ese rango UDP además del puerto TCP 22 de OpenSSH. Mosh no hace port forwarding ni X11 forwarding. Si el servidor no tiene IP pública ni puertos abiertos, una red privada en malla Prialo o Tailscale lo hace accesible sin exponerlo.
Para que el seguimiento continúe aunque cierres la app, lánzalo dentro de tmux:
tmux new -s logs
journalctl -u nginx -f
# Ctrl+B y luego d para desconectar; al volver:
tmux attach -t logstermi1 combina ambas cosas: mantiene la sesión con Mosh y usa tmux para que lo que dejaste corriendo siga ahí al volver.
Exportar registros de journalctl a un archivo y bajarlo por SFTP
journalctl -u nginx --since today --no-pager > /tmp/nginx-hoy.log guarda en texto plano los registros de nginx del día, listos para adjuntar a una incidencia o revisar con calma.
Desde escritorio se descarga con scp, que desde OpenSSH 9.0 usa el protocolo SFTP por defecto. En termi1 el SFTP está integrado, así que el archivo se ve y se baja sin salir de la sesión. Borra el archivo de /tmp después si contiene datos sensibles.
La IA de termi1 escribe el comando journalctl sin pulsar Intro
La IA de termi1 convierte una frase escrita o dictada, como «errores de nginx de la última hora», en un comando que se escribe en el prompt sin pulsar Intro, para que revises las opciones antes de ejecutarlo.
Tiene dos modos: «Revisar», que nunca pulsa Intro, y «Auto seguro», el modo por defecto, en el que solo un conjunto limitado de comandos reconocidos como seguros recibe Intro. En conexiones etiquetadas como producción, Production Guard impide que nada reciba Intro automáticamente y retiene lo que borra, detiene o cambia algo, como un systemctl restart nginx tras leer los logs. La IA no abre la sesión ni recibe claves ni contraseñas, y las claves SSH generadas en el móvil no salen del almacén seguro del sistema. Más detalles en la terminal SSH, Mosh y SFTP, que puedes descargar en la App Store o en Google Play.
Preguntas frecuentes
¿Cómo veo los logs de nginx en tiempo real con journalctl?
Los logs de nginx en tiempo real se ven con journalctl -u nginx -f, que muestra las últimas diez entradas y añade las nuevas según llegan. Para salir se pulsa Ctrl+C. Si nginx escribe además en /var/log/nginx, esos archivos existen aparte del journal.
¿Qué diferencia hay entre journalctl -b y journalctl -b -1?
journalctl -b muestra los registros del arranque actual y journalctl -b -1 los del arranque anterior. El segundo solo funciona si el journal es persistente, es decir, si se guarda en /var/log/journal y no únicamente en memoria. journalctl --list-boots enumera los arranques disponibles.
¿Qué prioridades incluye journalctl -p err?
journalctl -p err incluye los mensajes de prioridad err (3) y todos los más graves: crit, alert y emerg. Deja fuera warning, notice, info y debug. Combinado con -b o --since, es la forma más rápida de ver qué ha fallado sin leer cada línea informativa.
¿Por qué journalctl no muestra los registros del sistema sin sudo?
journalctl sin sudo solo muestra los registros del propio usuario cuando este no pertenece a los grupos systemd-journal o adm. Añadir el usuario a uno de esos grupos permite leer el journal del sistema sin escalar privilegios en cada consulta. El cambio se aplica al iniciar una sesión nueva.