web-dev-qa-db-fra.com

Quels sont les horaires logrotate?

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.

  1. Suis-je assuré d'avoir le script logrotate dans /etc/cron.daily?

  2. 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?

  3. Puis-je simplement copier-coller /etc/cron.daily/logrotate dans /etc/cron.hourly/? Puis-je couper-coller?

  4. Dois-je ajouter le fichier 0anacron à /etc/cron.hourly/?

  5. Dois-je faire autre chose pour activer la journalisation horaire?

14
user2136963
  1. Non.

  2. De man logrotate :

    Each  configuration  file  can  set  global  options (local definitions
    override global ones, and later definitions override earlier ones)
    

    Donc oui.

  3. 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.

7
muru