Je travaille sur le programme qui crée un gros fichier journal.
Je veux le gérer avec logrotate.
C’est une configuration que j’ai mise à /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
a le propriétaire www-data
)
Les commandes
Sudo logrotate -vf /etc/logrotate.conf
et
Sudo logrotate -vf /etc/logrotate.d/myproject
faites pivoter le journal correctement.
Cependant, après les avoir appelés, /etc/cron.hourly
est vide. Ce qui signifie que logrotate n'est pas appelé toutes les heures.
Suis-je assuré d'avoir le script logrotate
dans /etc/cron.daily
?
Le script vérifie-t-il la fréquence de mise à jour des fichiers journaux? C'est à dire. si j'ai le script logrotate
dans /etc/cron.daily
et pour certains fichiers journaux X
dans /etc/logrotate.d/
, je règle le paramètre weekly
, le nom X
sera-t-il pivoté quotidiennement ou hebdomadairement?
Puis-je simplement copier-coller /etc/cron.daily/logrotate
dans /etc/cron.hourly/
? Puis-je couper-coller?
Dois-je ajouter le fichier 0anacron
à /etc/cron.hourly/
?
Dois-je faire autre chose pour activer la journalisation horaire?
Non.
De man logrotate
:
Each configuration file can set global options (local definitions
override global ones, and later definitions override earlier ones)
Donc oui.
Encore une fois, à partir de la page de manuel:
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.
Donc, oui, vous devriez déplacer le script. En inspectant le script cron.daily
dans mon système, je pense que le déplacer devrait fonctionner correctement.