bem, você pode ver quais descritores de arquivo o processo abriu ... Talvez tente explicar qual é o problema exato? Você está tentando depurar seus próprios scripts? Desempenho de scripts padrão / de terceiros?
Hubert Kario
Respostas:
55
cat /var/lib/logrotate/status
Para verificar se um log específico está realmente girando ou não e para verificar a última data e hora de sua rotação, verifique o arquivo / var / lib / logrotate / status. Este é um arquivo formatado corretamente que contém o nome do arquivo de log e a data em que foi rotacionada pela última vez.
Considerando o Ubuntu, cat /var/lib/logrotate/status mostra apenas a atividade de logrotate iniciada pelo usuário root . Os cronjobs de outros usuários podem acionar sua própria atividade de rotação de log, por exemplo, quando seu crontab inclui uma entrada como 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Essa atividade de rotação de log seria gravada em arquivo $HOME/logrotate/logrotate-state, $HOMEsendo o diretório inicial desse usuário.
Abdull
Em sistemas RedHat ainda mais recentes (pelo menos no RHEL 7.6), o arquivo de status está agora em /var/lib/logrotate/logrotate.status.
Richlv
13
Você pode tentar executar o logrotate no modo de depuração ou detalhado:
-d Turns on debug mode and implies -v. In debug mode, no changes
will be made to the logs or to the logrotate state file.
-v, --verbose
Display messages during rotation.
Isso ajuda isso quando o logrotate é iniciado como cron? Quero dizer, existe a possibilidade de registrar o comportamento do logrotate em um arquivo de log?
@ cara: Se você está tentando fazer isso na linha de comando e está recebendo esse erro, precisará fazer o seguinte: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null(verifique se possui o -a).
Dennis Williamson
@ Dennis quando tento que, embora eu crie o logrotate.log, mas ele tenha 0 KB e o processo não pare no terminal e aguarde com um cursor piscando.
AWS AMI Linux tem estrutura mesmo estatuto do logrotate
Victor Perov
5
Vários logs são rotacionados em várias frequências com base no arquivo de configuração (/etc/logrotate.conf) e / ou diretório (/etc/logrotate.d). Os nomes podem variar em diferentes distribuições. A configuração pode especificar ações de pré e / ou pós-rotação. Os nomes dos arquivos rotacionados e a data da última rotação estão no arquivo de estado (/ var / lib / logrotate / state).
O logrotate não possui recursos de log. As ações de recarregamento / reinicialização iniciadas serão registradas de acordo com o registro do programa em que está sendo realizado.
A maneira mais fácil de fazer isso seria editando /etc/cron.daily/logrotatepara incluir a -vopção. Detalhes sobre a configuração e opções logrotate pode ser encontrado com o comando man logrotate.
Respostas:
Tirado de:
https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10
fonte
/var/lib/logrotate.status
nos sistemas Red Hat.cat /var/lib/logrotate/status
mostra apenas a atividade de logrotate iniciada pelo usuário root . Os cronjobs de outros usuários podem acionar sua própria atividade de rotação de log, por exemplo, quando seu crontab inclui uma entrada como0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state
. Essa atividade de rotação de log seria gravada em arquivo$HOME/logrotate/logrotate-state
,$HOME
sendo o diretório inicial desse usuário./var/lib/logrotate/logrotate.status
.Você pode tentar executar o logrotate no modo de depuração ou detalhado:
fonte
sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null
(verifique se possui o-a
).Nas distribuições do Suse Linux, é assim:
fonte
Vários logs são rotacionados em várias frequências com base no arquivo de configuração (/etc/logrotate.conf) e / ou diretório (/etc/logrotate.d). Os nomes podem variar em diferentes distribuições. A configuração pode especificar ações de pré e / ou pós-rotação. Os nomes dos arquivos rotacionados e a data da última rotação estão no arquivo de estado (/ var / lib / logrotate / state).
O logrotate não possui recursos de log. As ações de recarregamento / reinicialização iniciadas serão registradas de acordo com o registro do programa em que está sendo realizado.
A maneira mais fácil de fazer isso seria editando
/etc/cron.daily/logrotate
para incluir a-v
opção. Detalhes sobre a configuração e opções logrotate pode ser encontrado com o comandoman logrotate
.fonte
Cara, você pode verificar as configurações de
logrotate
, geralmente em/etc/logrotate.conf
.As distribuições modernas têm um
logrotate
arquivo de configuração específico no/etc/logrotate.d
diretóriopor exemplo, para
nginx
Ele manterá o arquivo por 52 semanas (um ano). A rotação é semanal.
Nota: user56548 costumava ser "Cara"
fonte
rotate 365
ouweekly
. A rotação diáriarotate 52
manterá 52 dias de logs, obviamente.weekly