Como limpar o diário

Como limpar o diário

Não consegui encontrar no Google nenhuma maneira segura de limpar o diário do systemd. Alguém conhece alguma maneira segura e confiável de fazer isso?

Digamos que eu estava experimentando algo e meus logs ficaram cheios de várias mensagens de erro. Além disso, estou exibindo meu diário na minha área de trabalho usando o Conky. Eu realmente não quero ver esses erros, pois eles me lembram de um dia horrível em que eu estava consertando essas coisas, quero me sentir um homem novo depois desse horror. Acho que todos concordarão que este é um motivo válido para limpar os logs :P.

Responder1

O método de automanutenção consiste em aspirar as toras por tamanho ou tempo.

Retenha apenas os últimos dois dias:

journalctl --vacuum-time=2d

Retenha apenas os últimos 500 MB:

journalctl --vacuum-size=500M

man journalctlPara maiores informações.

Responder2

Normalmente você não limpa o diário sozinho. Isso é gerenciado pelo próprio systemd e os logs antigos são alternados à medida que novos dados chegam. A coisa correta a fazer seria agendar o diário para manter apenas a quantidade de dados de seu interesse. espaço que é permitido ocupar. Depois de cruzar esse limite, ele começará a lançar entradas antigas para ficar próximo desse valor.

Você pode definir isso em/etc/systemd/journald.configual a:

SystemMaxUse=100M

Isso será aplicado na próxima reinicialização ou reinicialização do serviço journald:

$ systemctl restart systemd-journald

Responder3

A resposta de Miguelestá faltando uma coisa: a aspiração remove apenas os arquivos de diário arquivados, não os ativos. Para se livrar de tudo, você precisa primeiro girar os arquivos para que as entradas recentes sejam movidas para arquivos inativos.

Então, a resposta completa para removertodosentradas parece ser

sudo journalctl --rotate
sudo journalctl --vacuum-time=1s

(Observe que você não pode combinar isso em um journalctlcomando.)

A propósito, algumas distribuições têm o journald configurado para gravar logs no disco ( /var/log/journal) enquanto outras mantêm os logs na memória ( /run/log/journal). Espero que em alguns casos seja necessário usar sudo journalctl --flushprimeiro para remover tudo.

Se não tiver --rotatena sua versão, você pode usar o --sinceargumento para filtrar entradas:

--since "2019-01-30 14:00:00"
--since today

Responder4

Como --vacuum-timee --vacuum-sizenão fez nada por mim, fiz o seguinte:

$ sudo find /var/log/journal -name "*.journal" | xargs sudo rm 
$ sudo systemctl restart systemd-journald

Não está certo, mas funcionou.

informação relacionada