Como limpar os arquivos de log do servidor tomcat com o crontab (permissões restritas)

1

Eu tenho um servidor tomcat que gera arquivos de log de acesso em uma rotação diária.

Para limpá-los a cada X dias, tentei configurar o seguinte crontab -e :

@weekly find /var/log/tomcat8/localhost_access_log.*.txt -mtime +10 -delete

Problema: estou recebendo um erro Permission denied executando isso. Como a pasta /var/log/tomcat8 tem tomcat:tomcat usuário: permissões de grupo e estou logado como diferente.

Então, como eu poderia criar um cronjob com permissão para excluir esses arquivos?

Ou devo adicionar o crontab via sudo crontab -e ?

    
por membersound 24.08.2017 / 10:13

2 respostas

1

Para executar o crontab , que pode acessar arquivos de propriedade do usuário tomcat , você pode executar o comando como usuário tomcat

Execute crontab como usuário tomcat usando:

sudo crontab -u tomcat -e
    
por Yaron 24.08.2017 / 10:19
1

Você pode corrigir isso usando sudo crontab -e , pois root terá permissões suficientes.

Mas logrotate parece ser a ferramenta para girar logs (e provavelmente já está em uso no seu sistema).

Dê uma olhada em /etc/logrotate.d/ e tente descobrir se tomcat já a usa.

    
por pim 24.08.2017 / 10:19