Comment puis-je surveiller ce que fait logrotate?

51

Comment puis-je surveiller ce que fait logrotate dans Ubuntu? L'activité de logrotate peut-elle être surveillée?

w5m
la source
Eh bien, vous pouvez aller voir quels descripteurs de fichier le processus a ouvert ... Peut-être essayer d’expliquer quel problème vous avez exactement? Essayez-vous de déboguer vos propres scripts? Performance des scripts par défaut / tiers?
Hubert Kario

Réponses:

55
cat /var/lib/logrotate/status 

Pour vérifier si un journal particulier est effectivement en train de tourner ou non, et pour vérifier la date et l'heure de sa rotation, consultez le fichier / var / lib / logrotate / status. Il s'agit d'un fichier soigneusement formaté contenant le nom du fichier journal et la date de la dernière rotation.

Pris à partir de:

https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10

Camilo Sanchez
la source
16
Vous trouverez ce fichier comme /var/lib/logrotate.statussur les systèmes Red Hat.
Michael Hampton
1
voici un guide complet pour le dépannage de logrotate sur les systèmes Red Hat: access.redhat.com/solutions/32831
Gaia
En considérant Ubuntu, cat /var/lib/logrotate/status montre uniquement l'activité logrotate initiée par l'utilisateur root . Les tâches cron d’autres utilisateurs peuvent déclencher leur propre activité logrotate, par exemple lorsque leur crontab inclut une entrée telle que 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Cette activité logrotate serait écrite dans un fichier $HOME/logrotate/logrotate-state, le répertoire de base de $HOMEcet utilisateur.
Abdull
Dans les systèmes RedHat encore plus récents (au moins dans RHEL 7.6), le fichier de statut est maintenant /var/lib/logrotate/logrotate.status.
Richlv
13

Vous pouvez essayer d’exécuter logrotate en mode débogage ou verbeux:

-d     Turns  on  debug mode and implies -v.  In debug mode, no changes
          will be made to the logs or to the logrotate state file.

-v, --verbose
          Display messages during rotation.
Kernelpanic
la source
Cela aide-t-il lorsque logrotate est lancé en tant que cron? Je veux dire, existe-t-il une possibilité de consigner le comportement de logrotate dans un fichier journal?
2
/ usr / sbin / logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log
kernelpanic
sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash: /var/log/logrotate.log: Autorisation refusée
1
@dude: Si vous essayez de faire cela à partir de la ligne de commande et que vous obtenez cette erreur, vous devrez le faire comme ceci: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null( assurez- vous que vous avez le -a).
Dennis Williamson
@ Dennis quand j'essaie que j’ai bien créé le logrotate.log mais il a 0Ko et le processus ne s’arrête pas au terminal et attend avec un curseur clignotant.
9

Dans Suse Linux, les distributions sont comme ceci:

cat /var/lib/logrotate.status
gugol
la source
La structure de statut de logrotate est la même pour AWS AMI Linux
Victor Perov
5

Différents journaux tournent sur différentes fréquences en fonction du fichier de configuration (/etc/logrotate.conf) et / ou du répertoire (/etc/logrotate.d). Les noms peuvent varier selon les distributions. La configuration peut spécifier des actions pré et / ou post rotation. Les noms des fichiers pivotés et la date de la dernière rotation figurent dans le fichier d'état (/ var / lib / logrotate / state).

Logrotate ne dispose pas d'installations de journalisation. Les actions de rechargement / redémarrage qu'il initie seront consignées en fonction de la consignation du programme en cours.

Le moyen le plus simple de le faire serait de modifier /etc/cron.daily/logrotatepour inclure l' -voption. Des détails sur la configuration et les options de logrotate sont disponibles avec la commande man logrotate.

BillThor
la source
3

Mec, vous pouvez vérifier les paramètres de logrotate, généralement dans /etc/logrotate.conf.

Les distributions modernes ont un logrotatefichier de configuration spécifique dans le /etc/logrotate.drépertoire.

par exemple pour nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52

Le dossier sera conservé pendant 52 semaines (un an). La rotation est hebdomadaire.


Remarque: user56548 était "Dude"

entrez la description de l'image ici

Ø de bague
la source
Probablement, vous vouliez dire rotate 365ou weekly. La rotation quotidienne avec rotate 52gardera 52 jours de journaux, évidemment.
Samedi
@temoto merci, c'était en faitweekly
Ring Ø