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 référez-vous à la réponse de slm « pour avoir une explication cron.daily précise logrotate
dans la sortie de la commande crontab -l
et exécutez la ligne de commande
Commentaires
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
logrotate
est programmée pour sexécuter une fois par jour.logrotate
a un-d
option de test (ou " débogage "), I ' d recommande de lexécuter au moins une fois avec ça.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