Ik volgde deze link om het logboek te wijzigen -rotate configuration for RHEL 6
Nadat ik de wijziging in het configuratiebestand heb aangebracht, wat moet ik doen om dit van kracht te laten worden?
Answer
logrotate
gebruikt crontab
om te werken. Het is gepland werk, geen daemon, dus het is niet nodig om de configuratie opnieuw te laden.
Wanneer de crontab
logrotate
uitvoert, zal uw nieuwe configuratiebestand automatisch gebruiken.
Als u uw configuratie moet testen, kunt u logrotate
ook zelf uitvoeren met het commando:
logrotate /etc/logrotate.d/your-logrotate-config
Of zoals vermeld in opmerkingen, identificeer de verwijs naar slm “s antwoord voor een precieze cron.daily-uitleg logrotate
regel in de uitvoer van het commando crontab -l
en voer de opdrachtregel uit
Opmerkingen
Answer
De meeste logrotate
setups die ik “heb gezien op verschillende distributies loopt uit de /etc/cron.daily
. Er” een shell-script daar met de toepasselijke naam logrotate
.
Voorbeeld
$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate
Handmatige uitvoering
Als je het handmatig wilt laten draaien, voer je het script gewoon als root uit:
$ sudo /etc/cron.daily/logrotate
Als je een script bekijkt dat er meestal is, laat het zien hoe je logrotate
handmatig, door simpelweg logrotate
+ het pad naar het configuratiebestand uit te voeren.
#!/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
Answer
Het zou automatisch moeten zijn via cron. Je kunt het forceren om je wijzigingen te testen.
Voor globale logrotate:
sudo logrotate -v -f /etc/logrotate.conf
Voor een enkel conf-bestand:
sudo logrotate -v -f /etc/logrotate.d/someapp.conf
Reacties
-
-f
voor geforceerde rotatie, er is ook-d
voor debug, wat ook Dry run is, het zal alles afdrukken wat het zou hebben gedaan, maar het niet echt doen.
Answer
Op mijn CentOS 6.5-machine voor het instellen van logrotatefor nginx moest ik dit doen:
logrotate /etc/logrotate.d/nginx
En toen controleerde ik of logrotate mijn nieuwe nginx-configuratie als volgt verzorgde:
cat /var/lib/logrotate.status
logrotate
één keer per dag uitgevoerd.logrotate
heeft een-d
optie voor testen (of " debugging "), ik ' d raad aan om het er minstens één keer mee uit te voeren.su root syslog
. Dat brengt logrotate tot stilstand wanneer het niet is toegevoegd. Om de frustratie van ' van mensen af te maken, wanneer ze de instructie toevoegen en vervolgens logrotate uitvoeren (forceren), blijft het uitspugen "error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ...
" gedurende 20 uur na de configuratiewijziging, alsof de instellingen / het proces zijn in de cache !? Als je daar vastzit, chgrp op / var / log naar root, voer logrotate uit, chgrp terug naar syslog. Het zal de volgende keer worden opgeruimd.