No pude encontrar en google ninguna forma segura de borrar el diario systemd. ¿Alguien conoce alguna forma segura y confiable de hacerlo?
Digamos que estaba experimentando con algo y mis registros se llenaron con varios mensajes de error. Además, estoy mostrando mi diario en mi escritorio usando Conky. Realmente no quiero ver esos errores, ya que me recuerdan un día horrible que estaba arreglando estas cosas, quiero sentirme como un hombre nuevo después de este horror. Creo que todos estarán de acuerdo en que esta es una razón válida para borrar los registros: P.
systemd
systemd-journald
Łukasz Zaroda
fuente
fuente

journalctl --vacuum-size=1Kentoncesjournalctltodavía muestra mucho más de 1K. Muestra todos los mensajes desde el último arranque.journalctl --flush --rotateantesjournalctl --vacuum-time=1sy eliminó más cosas, aunque todavía no todo.Por lo general, no borra el diario usted mismo. Eso es administrado por el sistema mismo y los registros antiguos se rotan a medida que ingresan nuevos datos. Lo correcto sería programar el diario para mantener solo la cantidad de datos que le interese. Lo más habitual para ajustar es el disco total espacio se le permite ocupar. Una vez que cruza esta frontera, comenzará a lanzar entradas antiguas para permanecer cerca de este valor.
Puede configurar esto
/etc/systemd/journald.confasí:fuente
MaxRetentionSeclugar deSystemMaxUse. Verman journald.confpara más detalles.A la respuesta de Michael le falta una cosa: pasar la aspiradora solo elimina los archivos de diario archivados, no los activos. Para deshacerse de todo, primero debe rotar los archivos para que las entradas recientes se muevan a archivos inactivos.
Entonces, la respuesta completa para eliminar todas las entradas parece ser
(Tenga en cuenta que no puede combinar esto en un solo
journalctlcomando).Por cierto, algunas distribuciones han configurado journald para que escriba registros en el disco (
/var/log/journal) mientras que otros mantienen registros en la memoria (/run/log/journal). Espero que en algunos casos sea necesario usarjournalctl --flushprimero para eliminar todo.Si no tiene
--rotateen su versión, puede usar el--sinceargumento para filtrar entradas:fuente
En Arch Linux, lo más cerca que estuve fue:
sudo systemctl restart systemd-journaldEn mi sistema, cada archivo de diario es de 8 MB, y lo anterior borró todos menos 3, con lo que el tamaño total es de ~ 25 MB.
Mi caso de uso se incapacitante vaca para BTRFS (sólo para el directorio de diario y subdirectorios):
sudo chattr +C /var/log/journal/*. El problema es que el atributo solo se establece en archivos recién creados, por lo tanto, el deseo de vaciar el diario.fuente
SystemMaxUse=1K, reiniciadosystemd-journald, pero journalctl todavía muestra las entradas que quiero que desaparezcan. ¿Cómo es este progreso de los archivos de texto plano?Desde entonces
--vacuum-timey--vacuum-sizeno hice nada por mí, hice lo siguiente:No está bien, pero funcionó.
fuente
/run/log.Un método de fuerza muy bruta para limpiar todo el registro:
También puede usar
--vacuum-sizecomo Michael mentoined.fuente
systemctl restart systemd-journald.Tanto --rotate como --vacuum-time = 1s no me funcionaron en CentOS. Pude borrarlo así:
fuente
./journal. Losjournalctlcomandos solo funcionan en el más reciente. Así que tuve que eliminar el directorio antiguo manualmente y eso es seguro. Después de limitar el tamaño en el diario conf.Respalde en caso de que lo necesite en el futuro:
cp /run/log/journal/<temp-string>/system.journal /mylog/dir/back/system.journal.bakBorrar el archivo:
cd /run/log/journal/<temp-string>/>system.journalVerifique para ver los últimos registros:
journalctl -xefuente
journalctl -bsolo se mostrará desde el arranque más reciente. También puede usar-b -1,-b -2etc. Su horrendo día todavía está allí, pero no tendrá que verlo, a menos que lo necesite.fuente
Mi respuesta anterior acaba de ser eliminada por ser "duplicada". Bueno, perdón por no ser lo suficientemente claro en mi respuesta anterior, pero fue diferente de las respuestas existentes. Así que aquí hay una versión más elaborada:
journalctl -m --vacuum-time=1shizo el truco para mí Tenga en cuenta la-mbandera , combina todos sus diarios y luego límpielos. Sin la-mbandera, no limpió nada en mi caso (en CentOS-7).Espero eso ayude.
fuente