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 logrotate nelloutput del comando crontab -l ed eseguire la riga di comando fare riferimento alla risposta di slm “ per avere una spiegazione cron.daily precisa

Commenti

  • Solo per aggiungere alla tua risposta, la voce cron per logrotate deve essere eseguita una volta al giorno.
  • @Ketan, quindi, come posso farlo influenzare subito? grazie
  • Se vuoi che abbia effetto immediato, esegui le afterwords di cron.
  • logrotate ha un -d opzione per il test (o " debug "), I ' d consigliamo di eseguirlo almeno una volta con quello.
  • Una frustrazione molto comune è la nuova direttiva su richiesta 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

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 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *