Jai suivi ce lien pour modifier le journal -rotate configuration pour RHEL 6

Après avoir modifié le fichier de configuration, que dois-je faire pour que cela prenne effet?

Réponse

logrotate utilise crontab pour fonctionner. Cest un travail planifié, pas un démon, donc pas besoin de recharger sa configuration.
Lorsque le crontab sexécute logrotate, il utilisera automatiquement votre nouveau fichier de configuration.
Si vous avez besoin de tester votre configuration, vous pouvez également exécuter logrotate vous-même avec la commande:

logrotate /etc/logrotate.d/your-logrotate-config 

Ou comme mentionné dans les commentaires, identifiez la ligne logrotate dans la sortie de la commande crontab -l et exécutez la ligne de commande référez-vous à la réponse de slm «  pour avoir une explication cron.daily précise

Commentaires

  • Juste pour ajouter à votre réponse, lentrée cron pour logrotate est programmée pour sexécuter une fois par jour.
  • @Ketan, alors, comment puis-je le faire affecter tout de suite? merci
  • Si vous voulez que cela prenne effet immédiatement, exécutez les mots-clés cron.
  • logrotate a un -d option de test (ou " débogage "), I ' d recommande de lexécuter au moins une fois avec ça.
  • Une frustration très courante est la nouvelle directive su obligatoire su root syslog. Ce qui arrête logrotate lorsquil nest pas ajouté. Pour couronner le tout de la frustration des gens ', lorsquils ajoutent la directive, puis exécutent (forcent) logrotate, il continue de cracher " error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ... " pendant 20 heures après le changement de configuration, comme si les paramètres / processus sont mis en cache!? Si vous êtes coincé là-bas, chgrp sur / var / log vers root, exécutez logrotate, chgrp vers syslog. Il disparaîtra lors de la prochaine exécution

Réponse

La plupart des logrotate les configurations que j « ai vues sur diverses distributions ne sont plus /etc/cron.daily. Il ya » un script shell nommé à juste titre logrotate.

Exemple

$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate 

Exécution manuelle

Si vous voulez lexécuter manuellement, exécutez simplement le script en tant que root:

$ sudo /etc/cron.daily/logrotate 

Si vous regardez un script qui est typiquement là, il vous montre comment vous pouvez également exécuter logrotate manuellement, en exécutant simplement logrotate + le chemin vers son fichier de configuration.

#!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0 

Réponse

Cela devrait être automatique via cron. Vous pouvez le forcer à tester vos modifications.

Pour la rotation globale:

sudo logrotate -v -f /etc/logrotate.conf 

Pour un seul fichier de configuration:

sudo logrotate -v -f /etc/logrotate.d/someapp.conf 

Commentaires

  • -f pour la rotation de force, il y a aussi -d pour le débogage, qui est aussi lexécution à sec, il affichera tout ce quil aurait fait mais ne le fera pas réellement.

Réponse

Sur ma machine CentOS 6.5 pour configurer logrotatefor nginx, jai dû faire ceci:

logrotate /etc/logrotate.d/nginx 

Et puis jai vérifié si logrotate en prenant soin de ma nouvelle configuration nginx comme ceci:

cat /var/lib/logrotate.status 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *