Jeg fulgte denne lenken for å endre logg -rotere konfigurasjon for RHEL 6
Etter at jeg gjorde endringen i konfigurasjonsfil, hva skal jeg gjøre for å la dette tre i kraft?
Svar
logrotate
bruker crontab
til å jobbe. Det er planlagt arbeid, ikke en demon, så du trenger ikke å laste konfigurasjonen på nytt.
Når crontab
utfører logrotate
, vil bruke den nye konfigurasjonsfilen automatisk.
Hvis du trenger å teste konfigurasjonen din, kan du også utføre logrotate
på egen hånd med kommandoen:
logrotate /etc/logrotate.d/your-logrotate-config
Eller som nevnt i kommentarer, identifiser referer til slm «s for å få en presis cron. daglig forklaring logrotate
linjen i utgangen av kommandoen crontab -l
og utfør kommandolinjen
Kommentarer
Svar
Det meste av logrotate
oppsett jeg har sett på forskjellige distroer, løper ut av /etc/cron.daily
. Det er et skallskript der med navnet logrotate
.
Eksempel
$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate
Manuell kjøring
Hvis du vil gjøre det kjøres manuelt, kjører du bare skriptet som root:
$ sudo /etc/cron.daily/logrotate
Hvis du ser på et skript som vanligvis er der, viser det deg hvordan du også kan kjøre logrotate
manuelt, ved å bare kjøre logrotate
+ banen til konfigurasjonsfilen.
#!/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 være automatisk via cron. Du kan tvinge det til å teste endringene dine.
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 kraftrotasjon er det også-d
for feilsøking, som også er tørrkjøring, den vil skrive ut alt den ville ha gjort, men ikke faktisk gjøre det.
Svar
På min CentOS 6.5-maskin for å sette opp logrotatefor nginx måtte jeg gjøre dette:
logrotate /etc/logrotate.d/nginx
Og så sjekket jeg om logrotate tok vare på den nye nginx-konfigurasjonen min slik:
cat /var/lib/logrotate.status
logrotate
planlagt å kjøre en gang om dagen.logrotate
har en-d
alternativ for testing (eller " feilsøking "), jeg ' d anbefaler å kjøre den minst en gang med det.su root syslog
. Noe som stopper logrotate når det ikke legges til. For å toppe folk ' frustrasjon når de legger til direktivet, og deretter kjører (tvinge) logrotate, fortsetter det å spytte ut "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 etter konfigurasjonsendringen, som om innstillingene / prosessen er bufret !? Hvis du sitter fast der, chgrp on / var / log to root, kjør logrotate, chgrp tilbake til syslog. Det vil ryddes opp ved neste løp