/etc/logrotate.conf

E' il file principale riguardante la configurazione di logrotate.

Attraverso il file di configurazione di logrotate è possibile definire il comportamento dell'applicazione in due contesti: a livello globale (nella prima parte del file) e a livello locale dove le regole ridefinite prevalgono su quelle globali. Per ogni file di cui si vuole effettuare la rotazione è necessario indicarne il percorso, al quale seguono tra parentesi graffe le direttive di gestione.

Tra le direttive più utili:
- Criteri di rotazione
   daily: Rotazione su base giornaliera;
   weekly: Rotazione su base settimanale;
   monthly: Rotazione su base mensile;
   size <dimensione>: Rotazione in base alla dimensione;
   notifempty: Non esegue la rotazione se il file è vuoto;
- Compressione
   compress: Una volta archiviato il file di log, viene compresso tramite gzip;
   compresscmd: Indica il programma da utilizzare al posto di gzip;
- Gestione File
   create  <mode> <owner> <group>: Immediatamente dopo la rotazione viene creato un nuovo file con il nome identico al precedente. E' possibile specificare, modalità di accesso, proprietario e gruppo;
   copy: Crea una copia del file di log e non modifica l'originale che non viene mai rimosso;
   copytruncate: Utilizzata nel caso in cui non sia possibile chiudere il file di log. Viene archiviata parte del file di log mentre ne viene eseguita una copia;
   olddir <directory>: I file di log vengono spostati nella directory indicata prima di eseguire la rotazione;
- Configurazione
   include <file o directory>: Legge il file oppure tutti i file della directory indicata ed applica le direttive incontrate all'interno di essi. E' possibile trovare include /etc/logrotate.d in quanto alcuni packages installano le proprie istruzioni in questa directory;
- Operazioni Pre-log e Post-log
   postrotate endscript: Tramite questo blocco di direttive è possibile eseguire delle operazioni in seguito alla rotazione;  
   prerotate endscript: Tramite questo blocco di direttive è possibile eseguire delle operazioni prima che avvenga la rotazione e solo se questa avrà luogo;  

Un esempio del file di configurazione:
  
#  
# Parametri Globali
#  
compress Abilita la compressione, di default con gzip, dei log dopo la rotazione
weekly   La rotazione di default è stabilita con criterio temporale settimanale ovvero ogni settimana viene creato un nuovo file di log

# Parametri Locali  

/var/log/debug {  
   rotate 2 Indica che verranno mantenuti due file di log, in particolare uno per ogni settimana. La rotazione in questo caso è settimanale in quanto la direttiva di default non è stata ridefinita.
   postrotate Blocco postrotate ovvero istruzioni eseguite in seguito alla rotazione di un log. Possono esistere solamente all'interno di direttive locali  
     /sbin/killall -HUP syslogd Ferma e riavvia il logging da parte di syslogd in modo che possa riprendere a lavorare sul nuovo file una volta effettuata la rotazione del vecchio file di log  
   endscript Termine blocco postrotate  
}  

/var/log/faillog {  
   monthly Il criterio temporale viene ridefinito localmente e passa da settimanale a mensile  
   rotate 2 Rotazione ogni 2 mesi  
   postrotate  
     /sbin/killall -HUP syslogd  
   endscript  
}  

/var/log/lastlog {  
   rotate 3 Rotazione ogni 3 settimane  
   postrotate  
     /sbin/killall -HUP syslogd  
   endscript  
}  

/var/log/maillog {  
   monthly    
   rotate 2 Rotazione ogni 2 mesi  
   postrotate  
     /sbin/killall -HUP syslogd  
   endscript  
}  

/var/log/syslog {  
   rotate 4 Rotazione ogni 4 settimane  
   postrotate  
     /sbin/killall -HUP syslogd  
   endscript  
}  

/var/log/messages {  
   rotate 2 Rotazione ogni 2 settimane  
   postrotate  
     /sbin/killall -HUP syslogd  
   endscript  
}  

/var/log/proftpd.log { Log ProFTPD Server  
   rotate 3 Rotazione ogni 3 settimane  
   postrotate  
     /sbin/killall -HUP syslogd  
   endscript  
}