Logrotate: configurare la rotazione automatica dei log
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
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.
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.
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 }