
Estou trabalhando no programa que cria um grande arquivo de log.
Eu quero lidar com isso com logrotate.
Esta é uma configuração que coloquei /etc/logrotate.d/
:
/var/log/myproject.log {
hourly
maxsize 1
rotate 6
missingok
notifempty
compress
nocreate
copytruncate
su www-data www-data
}
( /var/log/myproject.log
tem dono www-data
)
Comandos
sudo logrotate -vf /etc/logrotate.conf
e
sudo logrotate -vf /etc/logrotate.d/myproject
gire o log corretamente.
Porém, depois de chamá-los, /etc/cron.hourly
fica vazio. O que significa que o logrotate não é chamado de hora em hora.
Tenho garantia de que tenho
logrotate
o script/etc/cron.daily
?O script verifica a frequência de atualização dos arquivos de log. Ou seja, se eu tiver
logrotate
script/etc/cron.daily
e para algum arquivo de logX
eu/etc/logrotate.d/
definirweekly
a configuração, seráX
girado diariamente ou semanalmente?Posso apenas copiar e colar
/etc/cron.daily/logrotate
em/etc/cron.hourly/
? Posso recortar e colar?Devo adicionar
0anacron
arquivo a/etc/cron.hourly/
?Devo fazer outra coisa para ativar o registro por hora?
Responder1
Não.
-
Each configuration file can set global options (local definitions override global ones, and later definitions override earlier ones)
Então sim.
Novamente, na página de manual:
hourly Log files are rotated every hour. Note that usually logrotate is configured to be run by cron daily. You have to change this configuration and run logrotate hourly to be able to really rotate logs hourly.
Então, sim, você deve mover o script. Inspecionando o
cron.daily
script em meu sistema, acho que movê-lo deve funcionar bem.