Quando e come funziona logrotate su Ubuntu 10.04?


15

Sono nuovo di amministratore di sistema e ho alcune domande:

  1. Dove e come viene avviata la procedura logrotate dal sistema?
  2. A che ora del giorno vengono ruotati i miei file di registro ruotati "quotidianamente"?
  3. I comandi prerotati vengono eseguiti per ciascun file di registro corrispondente in una voce * .log?

Grazie


Dovresti avere qualche idea dai timestamp sui file di registro ruotati.
Bart Silverstrim,

Risposte:


11

1) Il mio logrotate sulla mia vecchia installazione di Hardy è identico alla risposta di Mike

2) Guardando il file / etc / crontab, cron.daily viene eseguito alle 6:25 sulla mia installazione

3) Se i comandi di pre-rotazione sono assegnati a un modello e i file di registro corrispondono a quel modello, quindi sì


7

da https://help.ubuntu.com/community/LinuxLogFiles :

In genere, logrotate viene chiamato dallo script cron a livello di sistema /etc/cron.daily/logrotate e ulteriormente definito dal file di configurazione /etc/logrotate.conf. È possibile aggiungere singoli file di configurazione in /etc/logrotate.d (dove ad esempio sono memorizzate le configurazioni apache2 e mysql).

I file coinvolti sono:


/etc/cron.daily/logrotate
/etc/logrotate.conf
/ec/logrotate.d/*

Come per Matt, i lavori cron.daily vengono avviati alle 6:25 del mattino sul mio sistema, ma i tempi di esecuzione effettivi variano in base ai lavori cron.daily, al caricamento del sistema, ecc.

/etc/cron.daily/logrotate esegue logrotate utilizzando il file logrotate.conf:

"/ usr / sbin / logrotate /etc/logrotate.conf"

/etc/logrotate.conf punta alla directory /etc/logrotate.d:

"include /etc/logrotate.d"

/etc/logrotate.d contiene singoli script per file di registro specifici
Per questi file, le azioni tra parentesi graffe (ruota, comprimi, ecc.) vengono eseguite sui file definiti all'inizio di ciascun blocco. I caratteri jolly sono consentiti, quindi qualcosa come '/ var / log / * log' dovrebbe influenzare tutti i file in / var / log / che terminano con il suffisso .log.
Se prerotate è una delle parole chiave utilizzate nel blocco che appartiene a '/ var / log / * log', allora quei file avranno i comandi prerotate eseguiti su di essi, ma "solo se il registro verrà effettivamente ruotato." ( Da man logrotate )


2

guarda quanto segue

/etc/cron

ls /etc/cron.daily

In RedHat è

/etc/cron.daily/logrotate

OK, vedo il file in cron.daily. Un rapido controllo su / etc / crontab mostra quando è prevista l'esecuzione. Grazie
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.