Jeg fulgte dette link for at ændre log -rotatkonfiguration til RHEL 6

Når jeg har foretaget ændringen til konfigurationsfil, hvad skal jeg gøre for at lade dette træde i kraft?

Svar

logrotate bruger crontab til at arbejde. Det er planlagt arbejde, ikke en dæmon, så det er ikke nødvendigt at genindlæse konfigurationen.
Når crontab udfører logrotate, bruger din nye konfigurationsfil automatisk.
Hvis du har brug for at teste din konfiguration, kan du også udføre logrotate alene med kommandoen:

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

Eller som nævnt i kommentarer, identificer logrotate linjen i output af kommandoen crontab -l og udfør kommandolinjen henvis til slm “s svar for at få en præcis cron.daily forklaring

Kommentarer

  • Bare for at tilføje til dit svar er cron-posten for logrotate planlagt til at køre en gang om dagen.
  • @Ketan, så hvordan kan jeg få det til at påvirke med det samme? tak
  • Hvis du vil have det til at træde i kraft straks kør cron efterord.
  • logrotate har en -d mulighed for testning (eller " debugging "), jeg ' d anbefaler at køre det mindst én gang med det.
  • En meget almindelig frustration er det nye, krævede su-direktiv su root syslog. Hvilket bringer logrotate til ophør, når det ikke tilføjes. For at afslutte folk ' s frustration, når de tilføjer direktivet og derefter kører (tvinge) logrotate, fortsætter det med at spytte ud " error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ... " i 20 timer efter konfigurationsændringen, som om indstillingerne / processen er cache !? Hvis du sidder fast der, chgrp on / var / log to root, kør logrotate, chgrp tilbage til syslog. Det ryddes op ved næste kørsel

Svar

Det meste af logrotate opsætninger, jeg har set på forskellige distroer, løber tør for /etc/cron.daily. Der er et shell-script der med passende navn logrotate.

Eksempel

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

Manuel kørsel

Hvis du vil få det til at køre manuelt, skal du blot køre scriptet som root:

$ sudo /etc/cron.daily/logrotate 

Hvis du ser på et script, der typisk er der, viser det dig, hvordan du også kan køre logrotate manuelt ved blot at køre logrotate + stien til konfigurationsfilen.

#!/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 

Svar

Det skal ske automatisk via cron. Du kan tvinge det til at teste dine ændringer.

For global logrotate:

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

For en enkelt conf-fil:

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

Kommentarer

  • -f for kraftrotation er der også -d til debug, hvilket også er tørkørsel, det vil udskrive alt, hvad det ville have gjort, men ikke rent faktisk gøre det.

Svar

På min CentOS 6.5-maskine til opsætning af logrotatefor nginx var jeg nødt til at gøre dette:

logrotate /etc/logrotate.d/nginx 

Og så kontrollerede jeg, om logrotate tog sig af min nye nginx-konfiguration som denne:

cat /var/lib/logrotate.status 

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *