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 logrotate regel in de uitvoer van het commando crontab -l en voer de opdrachtregel uit verwijs naar slm “s antwoord voor een precieze cron.daily-uitleg

Opmerkingen

  • Om aan uw antwoord toe te voegen, wordt de cron-invoer voor logrotate één keer per dag uitgevoerd.
  • @Ketan, dus, hoe kan ik het meteen laten beïnvloeden? bedankt
  • Als je wilt dat het onmiddellijk van kracht wordt, voer je de cron-nawoorden uit.
  • logrotate heeft een -d optie voor testen (of " debugging "), ik ' d raad aan om het er minstens één keer mee uit te voeren.
  • Een veel voorkomende frustratie is de nieuwe, vereiste su-instructie 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.

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 

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *