Giro Nginx
logs diariamente (com dateext
). Após a rotação, desejo analisar o arquivo do dia que acabou de passar e compilar um email com o número de erros retornados pelo servidor Nginx.
Como posso acessar o arquivo de saída na seção postrotate / endscript de logrotate
?
Respostas:
Não conheço nenhuma variável que você possa usar, se é isso que procura. No entanto, imediatamente após a rotação do log, você deve saber exatamente o nome para o qual o arquivo foi rotacionado, com base na configuração definida para a rotação (
/var/log/somefile.1
ou algo semelhante).Talvez seja mais fácil responder se você descreveu o problema real que está tentando resolver?
fonte
Se você não estiver usando a diretiva "sharedscripts", seu script pós-rotação receberá, como $ 1, o arquivo que acionou a rotação do log. Isso pode ajudar se você estiver tentando usar um script genérico com várias estrofes de rotação de log. Ou seja, dado algo como isto:
Se qualquer arquivo correspondente precisar ser girado, seu script será chamado com $ 1 definido como "/var/log/sample1.log", "/var/log/sample2.log" ou "/var/log/sample3.log " como apropriado. Você pode então acrescentar ".1" para encontrar o arquivo que acabou de ser rotacionado.
Se você usar a opção "sharedscripts", seu script será chamado com $ 1 definido como "/var/log/sample1.log /var/log/sample[23✨.log" (que ajudará a identificar uma estrofe específica, mas não é o arquivo exato).
Espero que isso lhe dê um lugar para começar. Observe que isso funcionará apenas para logrotate> v3.7.5.
fonte