[Guida] Sysadmin GNU/Linux: la manutenzione dei log tramite logrotate

by Alessandro Russo on

Una delle principali competenze di un sysadmin, è sicuramente la capacità di comprendere i file di log. Questi possono essere considerati la bussola da seguire, per scoprire eventuali malfunzionamenti del sistema. Dopo le guide su systemctl e sulla gestione dei servizi, oggi continuiamo il percorso nella sistemistica GNU/Linux esplorando le opzioni di logrotate.

Logrotate e la rotazione dei log

I vari demoni di sistema registrano in appositi file gli eventi degni di nota per futura memoria. Nelle moderne distribuzioni i programmi più diffusi per questo scopo sono journald e rsyslogd. Come è facile intuire, la dimensione dei file di log è direttamente proporzionale alla frequenza e alla verbosità delle registrazioni chiamate dai processi. Serve quindi un qualcosa per manutenerli, evitando così la saturazione di intere partizioni.

Per effettuare la rotazione dei file di registro, è stato creato un apposito programma chiamato logrotate. Configurarlo ci permette di automatizzare una serie di operazioni quali la compressione dei file di registro o la rimozione delle loro versioni obsolete. Le direttive per il suo funzionamento generale sono contenute, come suole, nel file /etc/logrotate.conf.

Riassumiamo le principali istruzioni:

  • daily, weekly, monthly: indicano i tempi di rotazione;
  • rotate n: specifica il numero n di copie dei file di log che devono essere mantenute in una successione di rotazioni. Il file n+1 esimo sarà cancellato;
  • create: crea un nuovo file di log vuoto al termine della rotazione;
  • compress: comprime le vecchie versioni del file di log tramite gzip;
  • prerotate, postrotate: per eseguire dei comandi precedentemente o successivamente una rotazione.

[Guida] Sysadmin GNU/Linux: la manutenzione dei log tramite logrotate

Il file contenente le direttive specifiche per ciascun servizio è invece /etc/logrotate.d. Ad esempio su Linux Mint, se vado a studiare la rotazione dei log del servizio mintupdate, l’output sarà il seguente:

/var/log/mintupdate.log {
  rotate 12
  monthly
  compress
  missingok		// se il file di registro è assente non genera errore
  notifempty		// non effettua la rotazione se il file è vuoto
  nocreate		
}

Come sempre, per una trattazione puntuale della sintassi e di tutte le opzioni possibili, basterà fare riferimento all’apposita pagina del manuale che torna sempre utile ai sysadmin: man logrotate.

[Guida] Sysadmin GNU/Linux: la manutenzione dei log tramite logrotateSeguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.

L'articolo [Guida] Sysadmin GNU/Linux: la manutenzione dei log tramite logrotate sembra essere il primo su Linux Freedom.

Leggi il contenuto originale su Linux Freedom

Written by: Alessandro Russo