Como manter o timestamp de um arquivo (data de modificação) após um logrotate?

2

O título diz tudo, eu tenho uma rotação de log configurada diariamente para alguns arquivos de log bastante grandes. Às vezes podemos gerar 3 desses por dia, às vezes geramos apenas 1, cada um com cerca de 500MB. Existe uma maneira de manter data de modificação do arquivo depois de um log de rotação? É muito mais fácil observar essas datas rapidamente ao procurar por algo nos registros, do que seguir cada arquivo à procura de datas.

    
por T Jones 07.12.2017 / 18:55

2 respostas

3

Você pode configurar a rotação de log para anexar a data a arquivos de log girados (especificando a opção dateext).

    
por 07.12.2017 / 19:30
1

Duas opções surgem imediatamente:

  • Você faz o logrotate anexar a data aos arquivos de log rotacionados, usando a opção dateext . Se você estiver fazendo a rotação logo após a meia-noite, talvez queira que o arquivo de log tenha o nome do dia anterior; você pode fazer isso com a opção dateyesterday .
  • Você pode usar o postrotate para executar um comando, como touch -m yesterday após a rotação do arquivo, para alterar o tempo de modificação do arquivo para o dia anterior.

man logrotate.conf e info coreutils 'touch invocation' são bons lugares para começar a procurar mais informações.

    
por 08.12.2017 / 11:46