Como posso excluir arquivos de log antigos?

4

Estou tentando descobrir como posso excluir arquivos de log antigos, estou usando o Centos 6.5 e, no meu /var/log , vejo esses arquivos de log antigos

messages
messages-20150802
messages-20150802

também é o mesmo no diretório /var/log/httpd

access_log
access_log-20150802
access_log-20150809
access_log-20150816
access_log-20150823

Preciso excluir os arquivos mais antigos que terminam com valores numéricos, mas mantenha o principal uma vez. qual comando eu poderia usar para fazer isso?

Obrigado em avançado

    
por user1731872 25.08.2015 / 21:07

3 respostas

3

Você pode usar apenas estes comandos:

rm -f messages-*
rm -f access_log-*

Ele excluirá todos os registros antigos que começam com "messages-" e "access_log -"

    
por 25.08.2015 / 23:45
2

dê uma olhada em logrotate e /etc/logrotate.conf.

Normalmente, para arquivos de log, você deseja usar o comando interno, em vez de excluí-lo.

    
por 25.08.2015 / 21:10
1

Os logs com números foram girados, o melhor a fazer é compactar cada log rotacionado e ter um script ou cron para movê-los para fora do servidor e para algum armazenamento de arquivos persistente, por exemplo, s3.

Se você realmente não se importa com a preservação de registros por qualquer razão, você sempre pode rm someRotatedLog.log.000 e, em seguida, echo "" > someCurrentLog.log , para que o processo de registro no arquivo não trave. Mas eu recomendo a primeira opção mais.

    
por 25.08.2015 / 23:41

Tags