54 votes

Où logrotate sauvegarde-t-il son propre journal ?

J'ai logrotate en cours d'exécution dans une machine EC2 AWS qui fait tourner les journaux Apache. Une fois emballés, les journaux Apache sont enregistrés dans AWS S3 via s3fs. Le problème est que j'ai récemment remarqué que je n'avais pas de journaux tournés. Dans S3, j'ai de vieux journaux du jour 48 au jour 60 mais les jours 1 à 47 n'apparaissent pas.

Ma question est : Où logrotate enregistre-t-il ses propres journaux ? Il est possible que j'aie un problème avec s3fs, mais j'ai besoin de savoir avant de faire quoi que ce soit. J'ai essayé de trouver les journaux quelque part mais je n'ai pas réussi.

Une idée ?

41voto

johnshen64 Points 5687

logrotate ne journalise rien par défaut. normalement, il devrait être quelque part dans votre cron, par exemple :

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

Vous pouvez soit exécuter manuellement cette commande pour voir ce qui ne va pas, soit rediriger la sortie de logrotate vers un fichier dans le cron ci-dessus pour voir ce qui s'est passé le lendemain.

Probablement que quelque part la configuration est incorrecte et a provoqué l'échec de l'exécution de logrotate.

24voto

dragon788 Points 706

La seule chose que logrotate enregistre normalement se trouve dans cat /var/lib/logrotate/status.

Ceci est extrait de https://serverfault.com/a/518134/266525

9voto

grk Points 141

Un autre bon endroit où chercher est /var/log/messages sur CentOS pour des erreurs comme celle-ci provenant du cron.daily /etc/cron.daily/logrotate

logrotate: ALERT est sorti de manière anormale avec [1]

Vous pouvez également exécuter en mode debug manuellement et vérifier les erreurs:

/usr/sbin/logrotate -d /etc/logrotate.conf

Source: https://access.redhat.com/solutions/32831

4voto

wroscoe Points 172

Si vous exécutez logrotate depuis cron et ne redirigez pas la sortie, la sortie, s'il y en a, ira par e-mail pour l'identifiant qui exécute la tâche cron. Je redirige ma sortie vers un fichier journal.

Par exemple:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1

2voto

Ludvik Points 21

Lorsque logrotate ne tourne pas les journaux ou entre en état d'échec, il est bon d'exécuter manuellement logrotate en mode debug pour voir quels erreurs il répertorie, comme ceci :

/usr/sbin/logrotate -d /etc/logrotate.d/*

Cette commande teste la rotation des journaux pour tous les services qui ont des fichiers situés dans /etc/logrotate.d. Si elle répertorie des erreurs (telles que des erreurs causées par des entrées de journaux en double), vous saurez pourquoi logrotate rencontre des problèmes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X