Logrotate: configurare la rotazione automatica dei log
Da Guide@Debianizzati.Org.
| Guida da adottare! |
| Attenzione Questo articolo è ancora incompleto o richiede delle verifiche. Sentiti libero di contribuire cliccando sul tasto "Modifica". |
Indice |
Introduzione
In questi giorni ho dovuto configurare la rotazione automatica dei log di un applicazione, altrimenti questi file rischiavano di diventare troppo grandi. Così mi sono deciso di scrivere questa guida-appunto per la configurazione del servizio. In effetti logrotate consente di fare in modo di "ruotare" i file di log, ma non solo, consente di cancellare, comprimere e inviare tramite mail i file di log troppo vecchi o che stanno assumendo delle dimensioni critiche per l'occupazione di spazio su disco.
Installazione
Per installare logrotate è sufficiente un
# apt-get install logrotate
Durante l'installazione verrà creato anche un cron che si occuperà, giornalmente, di richiamare logrotate per effettuare la rotazione dei file di log. Se l'installazione viene fatta su un portatile, consiglio anche l'installazione di Anacron.
Funzionamento
Il funzionamento, di per sè, è molto semplice: ad intervalli regolari viene lanciato il programma logrotate, che si occupa di effettuare le rotazioni dei file di log in base alle impostazioni presenti nei file di configurazione.
Il file di configurazione principale si trova in /etc/logrotate.conf che detta le impostazioni globali per il funzionamento del programma attraverso il solito schema "direttiva valore", nello stesso file possono essere inserite delle impostazioni specifiche per ogni file di log che si voglia gestire secondo lo schema sotto riportato:
PATH_DEL_FILE {
direttiva_1 valore_1
direttiva_2 valore_2
.....
direttiva_n valore_n
}
Una direttiva importantissima, presente nella sezione delle impostazioni globali di logrotate.conf è include, questa direttiva può essere seguita da un file o da una directory (solitamente /etc/logrotate.d/), nel primo caso viene "incluso" il file di configurazione passato come valore, nel secondo tutti i file di configurazione presenti nella directory. I file indicati in tale direttiva rispecchiano lo schema di cui sopra.
Per capire meglio il funzionamento (e di cosa è capace questo software) prendiamo in considerazione alcuni file di configurazione, andando a vedere le direttive e a cosa servono:
Per capire meglio il funzionamento (e di cosa è capace questo software) prendiamo in considerazione alcuni file di configurazione:
Apache
La particolarità di questo file di configurazione è la necessità di riavviare il servizio al termine della rotazione:
/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}
Aptitude
/var/log/aptitude {
rotate 6
monthly
compress
missingok
notifempty
}
munin-node
/var/log/munin/munin-node.log {
daily
missingok
rotate 7
compress
copytruncate
notifempty
create 640 root adm
}
Definizione di una rotazione personalizzata
Elenco Opzioni
| Guida scritta da: MaXeR |
|
| Verificata da: | |
| Estesa da: | |
|
Verificare ed estendere la guida | Cos'è una guida Debianized | |
Debianized 20%