GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo borrar los registros de diario de Systemd

Este tutorial rápido le muestra dos formas de borrar los registros diarios de systemd de su sistema Linux.

El diario systemd es el propio sistema de registro de systemd. Es equivalente al syslog en el sistema init. Recopila y almacena datos de registro del kernel, mensajes de registro del sistema, resultados estándar y errores para varios servicios systemd.

Una máquina Linux con systemd escribe los registros en el directorio /var/log/journal. Si recuerda la estructura de directorios de Linux, /var es donde se almacenan los registros del sistema.

Puede ver manualmente los archivos de registro usando el comando less o usar el comando journalctl. Para ver todos los registros más recientes, use el comando con la opción inversa.

journalctl -r

Lo que pasa con el registro es que, con el tiempo, comienza a crecer. Y si revisa el espacio en disco en Linux, verá que a veces se necesitan varios GB de espacio.

Déjame mostrarte cómo limpiar los registros diarios de systemd y liberar espacio en disco en tu sistema Linux.

Borrado de registros diarios de systemd

Primero verifique el espacio ocupado por los registros diarios con el comando du:

du -sh /var/log/journal/

También puede usar el comando journalctl para la misma tarea:

journalctl --disk-usage

Ambos comandos deberían dar aproximadamente el mismo resultado:

[email protected]:~$ journalctl --disk-usage
Archived and active journals take up 1.6G in the file system.

[email protected]:~$ sudo du -sh /var/log/journal/
1.7G	/var/log/journal/

Ahora que sabe cuánto espacio ocupan los registros diarios, puede decidir si desea borrar los registros o no. Si decide borrar los registros del diario, permítame mostrarle un par de formas de hacerlo.

Por supuesto, puede usar el comando rm para eliminar los archivos en la carpeta de registro, pero no lo aconsejaré. El comando journalctl le brinda la forma correcta de manejar registros antiguos.

Lo primero que debe hacer es rotar los archivos de diario. Esto marcará los registros diarios actualmente activos como archivo y creará nuevos registros nuevos. Es opcional pero una buena práctica hacerlo.

sudo journalctl --rotate

Ahora tiene tres formas de borrar los registros diarios antiguos. Elimina los registros anteriores a un tiempo determinado o elimina los archivos de registro más antiguos para que el tamaño total del registro se limite al espacio en disco predefinido o limita la cantidad de archivos de registro. Veamos cómo usar los tres métodos.

1. Borrar registro diario con más de x días

Tenga en cuenta que los registros son importantes para fines de auditoría, por lo que no debe eliminarlos todos al mismo tiempo. Digamos que desea mantener el historial de registro de solo dos días. Para eliminar todas las entradas que tengan más de dos días, utilice este comando:

sudo journalctl --vacuum-time=2d

Así es como puede verse la salida:

Vacuuming done, freed 1.6G of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c

También puede cambiar el marco de tiempo proporcionado en horas como 2h, en minutos como 2m, en segundos como 2s. Si desea unidades de tiempo más grandes, también puede usar 2 semanas, 2 meses.

2. Restrinja los registros a un tamaño determinado

Otra forma es restringir el tamaño del registro. Con esto, eliminará los archivos de registro diario hasta que el espacio en disco ocupado por los registros diarios sea inferior al tamaño especificado.

sudo journalctl --vacuum-size=100M

Esto reducirá el tamaño del registro a alrededor de 100 MB.

Vacuuming done, freed 40.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Puede especificar el tamaño en GB con G, MB con M, KB con K, etc.

3. Restringir el número de archivos de registro

La tercera forma es limitar el número de archivos de registro. El journalctl normalmente tiene archivos de registro para el sistema y para los usuarios. A medida que los registros envejecen, se archivan en varios archivos.

Puede limitar el número de archivos de registro de archivo. Supongamos que desea tener solo cinco archivos de registro.

journalctl --vacuum-files=5

Eliminará los archivos de registro de archivo más antiguos dejando solo el número especificado de archivos de registro.

Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (8.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Deleted archived journal /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c/[email protected] (48.0M).
Vacuuming done, freed 104.0M of archived journals from /var/log/journal/1b9ab93094fa4978beba80fd3c48a18c.

Borrar automáticamente los archivos de registro antiguos [Requiere conocimiento intermedio de la línea de comandos]

Lo que acaba de hacer limpiará los archivos de registro por ahora. En un mes los registros aumentarán nuevamente. Puede limpiarlos manualmente con uno de los métodos descritos anteriormente. Pero esa es una tarea tediosa y es posible que no recuerdes hacer eso regularmente.

Lo bueno es que puede configurar systemd para manejar automáticamente los archivos de registro antiguos.

El journalctl tiene un archivo de configuración en /etc/systemd/journald.conf. Hay configuraciones que están comentadas. Las líneas comentadas básicamente indican el valor predeterminado de esos parámetros de configuración (incluso si están comentados).

Puede cambiar algunas de estas configuraciones predeterminadas para limpiar automáticamente los archivos de registro.

Le gustaría cambiar las siguientes configuraciones:

¡Atención!

Tenga en cuenta que debe tener cuidado al editar archivos de configuración. Debe sentirse cómodo usando un editor de texto basado en terminal como Vim, Emacs o Nano para no cometer errores tontos al editar el archivo conf.

Aconsejo hacer primero una copia de seguridad del archivo de configuración:

cp /etc/systemd/journald.conf /etc/systemd/journald.conf.back

Ahora, debe descomentar (eliminar el # al comienzo de la línea) la configuración que desea usar. Por ejemplo, quiero restringir el espacio máximo en disco que ocupan los archivos de registro a 250 MB.

Tendrá que usar Vim o algún otro editor basado en terminal para editar este archivo de configuración. Así es como me veo después de editar el archivo.

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=1000
SystemMaxUse=250M
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100

Tenga en cuenta que después de editar el archivo de configuración, debe cargar los cambios:

sudo systemctl restart systemd-journald

El archivo journald.conf se puede utilizar para modificar aún más la configuración de journalctl. Incluso puede establecer los niveles de registro (información, depuración, error, etc.) que desea ver. Depende de usted si desea cambiar esa configuración también.

Espero que les guste este consejo para borrar los archivos de registro del diario systemd. Si tiene alguna pregunta o sugerencia, deje un comentario a continuación.


Linux
  1. Cómo usar journalctl para analizar registros en Linux

  2. ¿Cómo borrar el desplazamiento hacia atrás en el comando de pantalla?

  3. Cómo redirigir la salida del servicio systemd a un archivo

  4. Cómo detener el servicio systemd

  5. Cómo eliminar los servicios de systemd

Cómo borrar o vaciar la caché de DNS en Linux

Cómo borrar la memoria de intercambio en Linux

Cómo borrar la caché de DNS en Ubuntu

Cómo usar journalctl para ver y manipular registros de Systemd

Guía para principiantes de "journalctl":cómo usar Journalctl para ver y manipular registros de Systemd

Journalctl:Cómo leer y editar registros de Systemd

    Configuración Descripción
    Uso máximo del sistema El espacio máximo en disco que pueden ocupar los registros
    Tamaño máximo de archivo del sistema Tamaño máximo de un archivo de registro INDIVIDUAL
    SystemMaxFiles Número máximo de archivos de registro