Sou novo no Linux/CentOS e agora estou com um pequeno problema.
Meu servidor CentOS7 registra todos os Maillogs, via Logrotate, diariamente e os move para a pasta /var/log/old_maillogs
. Agora os logs são salvos com um nome semelhante a este:
Maillog-20230721
Eu gostaria que seus nomes mudassem, com base em quantos anos eles têm, de modo que, se o Log tiver um dia, seja nomeado:
Maillog-1
E um dia depois disso, o nome do arquivo muda para:
Maillog-2
E assim por diante.
Isso é possível, em caso afirmativo, qual seria a maneira mais inteligente de fazê-lo funcionar? Eu li muito sobre scripts que são executados uma vez por dia, mas, novamente, como faço para codificar o script, para que ele reconheça quantos logs estão na pasta?
Esta é minha configuração atual:
/var/log/maillog{
daily
rotate 365
postrotate
Systemctl restart rsyslog.service
endscript
mailfirst
olddi /var/log/old_maillog
}
Consulte a opção da página de manual logrotate "start count"
começar a contar
Como @asktyagi já afirmou. O parâmetro correto a ser usado é "contagem inicial".
Inicialmente não funcionou para mim, porque não desativei o parâmetro "usar extensão de dados para arquivos girados", que é chamado de
nodateext
.Portanto, a configuração de trabalho fica assim:
Esta configuração salva logs diariamente e renomeia a extensão para o número, que é equivalente a quantos anos o log tem.
Então, no dia 1, é chamado -
maillog.1
E no dia 2 é chamado -
maillog.2
E assim por diante.