Logrotate, lo strumento per la rotazione dei log
File di log di grandi dimensioni possono causare enormi problemi: dalla consultazione allo stesso spazio occupato sulla macchina. La stessa gestione sarebbe veramente onerosa.
A tale inconveniente pone rimedio logrotate.
logrotate è un software creato per facilitare l'amministrazione di sistemi che generano grandi numeri di file di log. Permette in maniera automatica la rotazione, la compressione, la rimozionee l'invio per email dei file di log. I file di log possono essere processati giornalmente, settimanalmente, mensilmente o quando crescono troppo.
logrotate ha delle pagine di manuale molto chiare: questa guida non intende sostituirsi alla consultazione delle pagine di man. Riporto solo una configurazione che ho avuto necessità di creare per una applicazione web-based creata per un cliente.
Applicazione pratica di logrotate
Dopo aver creato l'applicazione secondo le specifiche dell'azienda, è emersa la necessità di valutare i log con un particolare software che la stessa azienda ha fatto realizzare. Il software di analisi esamina file compressi ma di dimensioni non troppo grandi (rallenta il sistema e se si blocca va riprocessato da capo) e mette in relazione gli accessi al server web con i log personalizzati, generati dalla stessa applicazione. Inoltre l'azienda utilizza AWStats
per le statistiche di accesso all'applicazione.
Nella cartella /etc/logrotate.d/ è stato creato un file di configurazione simile a quello che segue:
/www/myapp/logfiles/*.log { size 300M rotate 30 olddir /www/myapp/logfiles/parsed/ compress delaycompress create 777 user group sharedscripts prerotate wget -O - http://myapp/cgi-bin/awstats.pl?config=myapp \&framename=mainright\&update=1 > /dev/null endscript postrotate /etc/init.d/apache2 reload > /dev/null endscript }
Analizziamo la configurazione riga per riga.
- Riga 1:
/www/myapp/logfiles/*.log {:
indica il percorso dei file di log e apre le direttive di configurazione. - Riga 2:
size 300M:
attiva la rotazione se il file è superiore ai 300 Mb - Riga 3:
rotate 30:
indica il numero di rotazioni prima che i vecchi files siano cancellati, in questo caso 30. Se il numero viene impostato a zero 0, i vecchi file vengono rimossi durante la rotazione. - Riga 4:
olddir /www/myapp/logfiles/parsed/:
sposta nella cartella parsed i vecchi file di log. - Riga 5:
compress:
comprime i vecchi file congzip. - Riga 6:
delaycompress:
posticipa la compressione alla prossima esecuzione dilogrotate. - Riga 7:
create 777 user group:
ricrea il file di log con i permessi (777) attributiti alla coppia utente/gruppo. - Riga 8:
sharedscripts:
normalmente i comandi nelle direttiveprerotateepostrotatevengono eseguiti per ciascun file di log. Questo significa che un singolo script viene eseguito tante volte quanti sono i file da analizzare. Nel nostro caso è meglio usare questa direttiva in modo da "dire" alogrotatedi eseguire lo script una volta sola. - Riga 9:
prerotate:
attiva una serie di operazioni prima di eseguirelogrotate. - Righe 10 e 11:
wget -O - http://myapp/cgi-bin/awstats.pl?config=myapp\&framename=mainright\&update=1 > /dev/null:
le righe 10 e 11 fanno parte di un unico comando e vanno scritte senza spazi. Con questo comando andiamo a forzare l'aggiornamento di AWStats per non perdere righe utili alle statistiche di accesso. - Riga 12:
endscript:
termine delle istruzioni diprerotate. - Riga 13:
postrotate:
attiva una serie di operazioni dopo l'esecuzione dilogrotate. - Riga 14:
/etc/init.d/apache2 reload > /dev/null:
ricarica il server web per rendere operativa la scrittura sui nuovi file di log. - Riga 15:
endscript:
termine delle istruzioni dipostrotate. - Riga 16:
}:
chiusura delle direttive di configurazione.
Spero possa essere utile a voi come lo è stato a me ;)
}-
» 2012-01-23
Logrotate, lo strumento per la rotazione dei log -
» 2011-10-25
Mercurial (hg) -
» 2011-10-25
Come e perché usare i controlli di versione -
» 2011-05-30
Come filtrare lo spam con Postgrey
Se ti piace questo articolo, puoi collegarlo al tuo sito copiando il seguente codice HTML nelle tue pagine.
-
30-06-2011 → Anonimo
ha scritto un commento in
Tutorial sul ripristino di GRUB -
26-05-2011 → Bianca
ha scritto un commento in
Arrotondare gli angoli di un div usando i CSS 3 -
25-05-2011 → `wee`
ha scritto un commento in
Le landing page - Cosa sono e a cosa servono -
19-02-2011 → Anonimo
ha scritto un commento in
Linux Reference - Lista comandi utili per Linux -
06-01-2011 → Sergio
ha scritto un commento in
Ottimizzare i metatag delle pagine multilingua -
05-06-2010 → Anonimo
ha scritto un commento in
SQL - Data Manipulation Language - SELECT
Inserisci un commento: