¿Cómo borro las entradas de journalctl solo para una unidad específica?


18

Pasé unos días escribiendo un script de python y creando un archivo de unidad systemd para él. Durante las pruebas, el script registró muchos errores en journald. Me gustaría borrar esos errores de journald ahora que he terminado.

Hay varias formas de borrar todo el diario, como se describe aquí: Cómo borrar el diario, incluido el uso journalctl --vacuum-time=2d, el uso journalctl --vacuum-size=500My la configuración temporal SystemMaxUse=en /etc/systemd/journald.conf a un valor muy bajo.

Todo esto parece borrar todo el diario, afectando a todas las unidades. Solo necesito borrar las entradas para una sola unidad. es posible?


Un posible enfoque es escribir un programa utilizando las funciones de diario de libsystemd para reescribir el archivo de diario sin las entradas que desea eliminar.
Mathias Rav

Respuestas:


6

Use mi programa Python 3 copy_journal.py en los archivos de diario /var/log/journalde los que desea eliminar entradas.

Por ejemplo, para hacer una copia system.journalsin entradas de registro para NetworkManager.service:

$ journalctl --file=system.journal | wc
    167    1934   18825
$ journalctl --file=system.journal | grep -v NetworkManager | wc
     77     881    8421
$ python3 copy_journal.py --remove-unit=NetworkManager.service system.journal system-without-nm.journal
$ journalctl --file=system-without-nm.journal | wc
     77     881    8421

-1

No creo que sea posible, porque de acuerdo con la página de manual de journalctl "La salida se intercala de todos los archivos de diario accesibles, ya sea que estén rotados o que se estén escribiendo actualmente".

Sin embargo, podría filtrarlo por una unidad: 'journalctl -u some.service' y luego tratar de eliminar las entradas de registro del diario con su propio script usando cron.


77
Parece que estás insinuando que hay una manera de eliminar entradas de registro individuales de journald. ¿Hay uno? Eso sería muy util.
Tal
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.