Ho seguito questo link per modificare il log -rota la configurazione per RHEL 6
Dopo aver apportato la modifica al file di configurazione, cosa devo fare per rendere effettiva questa operazione?
Risposta
logrotate
utilizza crontab
per funzionare. È un lavoro programmato, non un demone, quindi non è necessario ricaricare la sua configurazione.
Quando crontab
esegue logrotate
, utilizzerà automaticamente il nuovo file di configurazione.
Se devi testare la configurazione, puoi anche eseguire logrotate
da solo con il comando:
logrotate /etc/logrotate.d/your-logrotate-config
Oppure, come indicato nei commenti, identifica la riga fare riferimento alla risposta di slm “ per avere una spiegazione cron.daily precisa logrotate
nelloutput del comando crontab -l
ed eseguire la riga di comando
Commenti
Answer
La maggior parte dei logrotate
le configurazioni che ho visto su varie distribuzioni escono da /etc/cron.daily
. Cè “uno script di shell chiamato appropriatamente logrotate
.
Esempio
$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate
Esecuzione manuale
Se vuoi eseguirlo manualmente, esegui semplicemente lo script come root:
$ sudo /etc/cron.daily/logrotate
Se dai unocchiata a uno script che è normalmente presente, ti mostra come puoi anche eseguire logrotate
manualmente, eseguendo semplicemente logrotate
+ il percorso del relativo file di configurazione.
#!/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
Risposta
Dovrebbe essere automatico tramite cron. Puoi forzarlo per testare le tue modifiche.
Per logrotate globale:
sudo logrotate -v -f /etc/logrotate.conf
Per un singolo file di configurazione:
sudo logrotate -v -f /etc/logrotate.d/someapp.conf
Commenti
-
-f
per la rotazione forzata, cè anche-d
per il debug, che è anche a secco, stamperà tutto ciò che avrebbe fatto ma non lo farà effettivamente.
Answer
Sulla mia macchina CentOS 6.5 per configurare logrotate per nginx ho dovuto fare questo:
logrotate /etc/logrotate.d/nginx
E poi ho controllato se logrotate si prendeva cura della mia nuova configurazione nginx in questo modo:
cat /var/lib/logrotate.status
logrotate
deve essere eseguita una volta al giorno.logrotate
ha un-d
opzione per il test (o " debug "), I ' d consigliamo di eseguirlo almeno una volta con quello.su root syslog
. Il che arresta logrotate quando non viene aggiunto. Per completare la ' frustrazione delle persone, quando aggiungono la direttiva e quindi eseguono (forza) logrotate, continua a sputare "error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ...
" per 20 ore dopo la modifica della configurazione, come se le impostazioni / il processo sono memorizzati nella cache !? Se sei bloccato lì, chgrp su / var / log su root, esegui logrotate, chgrp torna su syslog. Si risolverà alla prossima esecuzione