Comando Linux journalctl

Linux 命令大全Manual completo de comandos Linux


¿Qué es journalctl?

journalctl es una potente herramienta del sistema Linux utilizada para consultar y mostrar los registros de systemd. Como parte del ecosistema de systemd, proporciona funciones de gestión centralizada de registros, reemplazando al servicio tradicional syslog.

Características principales

  1. Almacenamiento de registros en binario: los registros se almacenan en formato binario, mejorando la eficiencia de búsqueda
  2. Registros estructurados: admite metadatos adicionales y campos de registro estructurados
  3. Monitoreo en tiempo real: puede rastrear los cambios de registros en tiempo real
  4. Múltiples métodos de filtrado: admite filtrar por tiempo, servicio, prioridad y otras condiciones

Sintaxis básica

El formato básico del comando journalctl es el siguiente:

journalctl [选项] [匹配条件...]

Resumen de opciones comunes

Opción Descripción
-b Muestra los registros del arranque actual
-f Sigue los registros (similar a tail -f)
-k Muestra solo mensajes del kernel
-u Muestra los registros de la unidad especificada
-n Muestra los últimos n registros
--since Muestra los registros posteriores a la hora especificada
--until Muestra los registros anteriores a la hora especificada

Ejemplos de operaciones comunes

1. Ver los registros completos del sistema

Ejemplo

journalctl

2. Ver los registros del arranque actual

Ejemplo

journalctl -b

3. Monitorear nuevos registros en tiempo real

Ejemplo

journalctl -f

4. Ver los registros de un servicio específico

Ejemplo

journalctl -u nginx.service

5. Consultar por rango de tiempo

Ejemplo

journalctl --since "2023-01-01 00:00:00" --until "2023-01-02 12:00:00"

6. Ver registros de nivel de error

Ejemplo

journalctl -p err

Filtrado por prioridad de registros

journalctl admite el filtrado por prioridad de registros; las prioridades se definen de la siguiente manera:

Prioridad Valor Descripción
emerg 0 Emergencia
alert 1 Requiere atención inmediata
crit 2 Error grave
err 3 Error general
warning 4 Mensaje de advertencia
notice 5 Situaciones que requieren atención
info 6 Información general
debug 7 Información de depuración

Ejemplo de uso:

Ejemplo

# Muestra los registros de nivel de error y superiores
journalctl -p err

# Muestra los registros de nivel de advertencia y superiores
journalctl -p warning

Uso avanzado

1. Mostrar el espacio en disco ocupado por los registros

Ejemplo

journalctl --disk-usage

2. Limpiar registros antiguos

Ejemplo

# Conserva los registros de los últimos 2 días
journalctl --vacuum-time=2d

# Limita el tamaño máximo de los registros a 500 MB
journalctl --vacuum-size=500M

3. Salida en formato JSON

Ejemplo

journalctl -o json

4. Mostrar información completa de los campos

Ejemplo

journalctl -o verbose

5. Filtrar por campo específico

Ejemplo

# Muestra los registros de un ID de proceso específico
journalctl _PID=1234

# Muestra los registros de un usuario específico
journalctl _UID=1000

Consejos prácticos

1. Consultas combinadas

Ejemplo

# Consulta los registros de error del servicio nginx desde ayer
journalctl -u nginx.service --since yesterday -p err

2. Ver paginado

Ejemplo

journalctl | less

3. Exportar registros a un archivo

Ejemplo

journalctl --since "2023-01-01" > journal.log

4. Ver mensajes del búfer circular del kernel

Ejemplo

journalctl -k

5. Ver registros del proceso de arranque del sistema

Ejemplo

journalctl -b0 | grep "Starting"

Solución de problemas comunes

Problema 1: Los registros se muestran incompletos

Solución:

Ejemplo

# Aumenta el límite de líneas de salida
journalctl --no-pager

Problema 2: ¿Cómo ver los registros antiguos rotados?

Solución:

Ejemplo

# Muestra todos los registros (incluidos los archivados)
journalctl -a

Problema 3: ¿Cómo ver los registros de un momento específico?

Solución:

Ejemplo

# Consulta por tiempo con precisión de segundos
journalctl --since "2023-01-01 12:00:00" --until "2023-01-01 12:05:00"

Diagrama de flujo de resumen

Linux 命令大全Manual completo de comandos Linux

Otras extensiones