Logrotate ne fait pas tourner le fichier lorsque la taille du fichier dépasse la limite.

9

Depuis la page de manuel logrotate.

Il ne modifiera pas un journal plus d'une fois par jour, sauf si le critère de ce journal est basé sur la taille du journal

Selon la page de manuel, logrotate doit faire pivoter le fichier si la configuration est basée sur la taille des journaux. Mais, mon fichier n'obtient même pas si la taille du fichier est supérieure à 100k.

Quelqu'un peut-il indiquer quel est le problème?

Ma configuration

/home/jetech/work/lampstack-5.3.9-0/apache2/logs/access_log  {
    copytruncate
    compress
#    dateext
    rotate 365
    size 100k
    olddir /home/jetech/work/lampstack-5.3.9-0/apache2/old_logs
    notifempty
    nomail
    missingok
}
robert
la source

Réponses:

17

Comment savez-vous que le fichier ne tourne pas?

Sur un Debian 6 Linode que j'ai, dans la configuration par défaut, il logrotaten'était prévu cronde s'exécuter qu'une fois par jour, et à un moment très étrange. S'il n'est exécuté qu'une fois par jour, il n'aura naturellement qu'une seule opportunité par jour pour regarder la configuration, faire les comparaisons et effectuer les rotations nécessaires.

Alors, êtes-vous sûr que vous exécutez réellement votre logrotate? Pourrait vouloir vérifier votre /etc/cron*et /etc/cron*/*pour voir quand et à quelle fréquence logrotate doit s'exécuter.

Par exemple, si le logrotatescript est présent dans /etc/cron.daily, vous souhaiterez peut-être le déplacer vers /etc/cron.hourly, ou, si l'heure ne suffit pas, créez un fichier /etc/cron.d/avec le contenu suivant, pour l'exécuter logrotatetoutes les 10 minutes:

*/10  *  *  *  *   root    /usr/sbin/logrotate /etc/logrotate.conf
cnst
la source
0

Donc ça logrotatemarche vraiment comme ça,

  • Dans la configuration, nous spécifions une fréquence de fonctionnement ( quotidienne , horaire , mensuelle )
  • Il existe une entrée /etc/cron.xxxpour l' exécution de logrotate .
  • logrotate s'exécute via crontab

si vous avez mentionné quotidiennement , tous les jours à la durée spécifiée (/ etc / crontab), le processus crontab exécutera le processus logrotate pour la rotation. Ainsi, la limite de taille de fichier ne fonctionnera pas car le processus ne s'exécutera jamais.

swayamraina
la source