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

25

J'ai en logrotatecours d' exécution dans une machine EC2 AWS tournant les journaux Apache. Une fois compressé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 fait tourner les journaux. Dans S3, j'ai d'anciens journaux du jour 48-> 60 mais le 1-> 47 n'apparaît pas.

Ma question est: où logrotate enregistre-t-il son propre journal? Il est possible que j'aie un problème avec s3fs, mais je dois le savoir avant de faire quoi que ce soit. J'ai essayé de trouver quelque part les journaux mais je n'ai pas pu le trouver.

Une idée?

enedebe
la source

Réponses:

20

logrotatene consigne rien par défaut. normalement, il devrait se trouver 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 l'exécuter manuellement pour voir ce qui ne va pas, soit rediriger la sortie logrotate vers un fichier dans le cron ci-dessus pour voir ce qui s'est passé le lendemain.

Quelque part, la configuration est probablement incorrecte et a provoqué la rupture du cycle de rotation.

johnshen64
la source
+1 sur l'exécution manuelle de logrotate pour voir ce qui ne va pas
cjc
merci pour la réponse, mais ce que je veux vraiment savoir ce qui s'est passé dans mon système pour obtenir ce genre de résultat. Merci!
enedebe
l'exécution manuelle de logrotate donne-t-elle des erreurs? s'il y a des erreurs, vous devez les corriger dans le fichier conf ou /etc/logrotate.d/apache (ou apache2).
johnshen64
4
Vous pouvez utiliser l' -dindicateur de débogage et l' -findicateur de force pour voir exactement ce que logrotate tente de faire. -ddésactive l'action mais les messages imprimés continueront de prétendre qu'ils changent des choses.
David Lord
Lors de l'exécution /usr/sbin/logrotate /etc/logrotate.conf, j'ajouterais -vpour voir le journal détaillé.
Dennis Golomazov
6

La seule chose que logrotate enregistre normalement est cat /var/lib/logrotate/status.

Ceci est tiré de /server//a/518134/266525

dragon788
la source
5

Un autre bon endroit pour regarder est /var/log/messagessur CentOS pour des erreurs comme celle-ci du cron.daily/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

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

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

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

Tony-Caffe
la source
2

Si vous exécutez à logrotatepartir de cron et ne redirigez pas la sortie, la sortie, s'il y en a, sera envoyée par e-mail pour l'ID exécutant 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
Geoffrey M.
la source
1

Vérifiez /etc/logrotate.confles paramètres de configuration globale susceptibles d'affecter les tâches configurées via/etc/logrotate.d/

cdmo
la source
0

Lorsque logrotate ne fait pas tourner les journaux ou entre en état d'échec, c'est une bonne idée d'exécuter manuellement la journalisation en mode débogage pour voir quelles erreurs il répertorie, comme ceci:

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

Cette commande teste la rotation des journaux pour tous les services contenant des fichiers /etc/logrotate.d. S'il répertorie les erreurs (telles que les erreurs causées par des entrées de journal en double), vous saurez pourquoi logrotate a des problèmes.

Ludvik
la source