Como posso escrever um cron job para arquivar meus arquivos de log todas as noites?

Como posso escrever um cron job para arquivar meus arquivos de log todas as noites?

Presumo que isso seja relativamente fácil, mas meu script de shell não é tão bom, então espero obter ajuda.

Eu tenho uma tarefa que é executada a cada hora e anexa sua saída a um arquivo de log. Gostaria de mover esse arquivo de log todas as noites para que o script tenha um arquivo vazio para trabalhar e os logs sejam mais fáceis de visualizar quando eu precisar verificá-los.

Então eu gostaria de um script que se move

/var/log/meu.log

para

/var/log/my.log.2 ou my.log.yyyy.mm.dd ou algo assim.

Como posso fazer isso facilmente?

Responder1

Você vai querer conferirlogrotateque é instalado por padrão (ou facilmente através de um gerenciador de pacotes) em quase todas as principais distribuições Linux. É muito fácil montar uma entrada de configuração simples para girar seu arquivo de log - tudo o que você precisa saber sobre as opções de configuração está nessa página de manual.

Algumas distribuições usam um /etc/logrorate.d/diretório especial para especificar arquivos logrotate individuais para cada arquivo de log (ou um grupo relacionado de arquivos de log). Se a sua distribuição usa esse método, é tão simples quanto criar um arquivo com nome apropriado nesse diretório com um bloco de configuração conforme descrito na página man.

Caso contrário, você pode simplesmente anexar seu novo bloco de configuração ao final do /etc/logrotate.confarquivo existente.

informação relacionada