Skip to content

Logrotate è un software progettato per facilitare la gestione dei file di log generati dai vari software che girano sulla macchina, come PHP, MySQL, Nginx e Apache. A riguardo potrebbe interessarti la guida come leggere il log del web server.

Logrotate consente la rotazione automatica, la compressione, la rimozione e l’invio tramite email di file log. Ogni file di registro può essere gestito giornalmente, settimanalmente, mensilmente o semplicemente quando diventa troppo grande. In questa guida ti spiego tutti i valori che possono essere impostati nella configurazione di Logrotate.

Se logrotate è già installato sulla nostra macchina, si possono vedere i risultati del suo funzionamento aprendo una shell ed eseguendo:

$ ls -l /var/log

in questo modo si può notare come i log di sistema vengano periodicamente ruotati e compressi in modo automatico secondo delle regole che vedremo tra breve.

Installazione

Tipicamente logrotate è installato di default su ogni sistema Debian, come ad esempio Ubuntu. In caso contrario installalo via shell:

# apt-get install logrotate
Durante l’installazione verranno creati, tra gli altri, tre file e una directory in base ai quali verrà determinato il comportamento di logrotate:

/etc/logrotate.conf
/etc/logrotate.d/
/etc/cron.daily/logrotate
/var/lib/logrotate/status

Come funziona Logrotate

Il funzionamento di questo software è semplice: ogni giorno viene eseguito dal demone cron lo script /etc/cron.daily/logrotate che si occupa di effettuare le rotazioni in base al contenuto del file /var/lib/logrotate/status e alle impostazioni presenti nei file di configurazione /etc/logrotate.conf .

Questo file di configurazione contiene, tra le altre cose, una direttiva che indica a logrotate di leggere anche i file contenuti nella directory /etc/logrotate.d/ e di considerarli come file di configurazione aggiuntivi.

Per facilitare la gestione, quindi, la configurazione di logrotate è suddivisa di default tra il file logrotate.conf e i file presenti in logrotate.d ; la cosa importante da tener sempre presente è che il tutto può essere visto come un unico grande file di configurazione che parte con le righe di logrotate.conf, prosegue con il contenuto dei file di logrotate.d (e di ogni altro file/directory specificato con l’opzione “include“) e termina con le ultime righe di logrotate.conf .

La logica di configurazione di Logrotate si basa sulla concatenazione di file, questo spiega perché l’ordine con cui vengono scritte le linee di configurazione è particolarmente importante.

Normalmente, logrotate viene eseguito come un cron job giornaliero. Non modificherà un log più volte in un giorno, a meno che il criterio per tale registro sia basato sulla dimensione del log e che il logrotate venga eseguito più volte ogni giorno, oppure a meno che venga utilizzata l’opzione -f oppure –force (opzioni spiegate di seguito).

Puoi fornire qualsiasi numero di file di configurazione. I file di configurazione più recenti potrebbero sovrascrivere le opzioni fornite nei file precedenti, quindi l’ordine in cui sono elencati i file di configurazione di logrotate è importante. Normalmente, dovrebbe essere usato un singolo file di configurazione che include eventuali altri file di configurazione necessari. Vedi di seguito come utilizzare la direttiva include. Se viene fornita una directory, ogni file in quella directory viene utilizzato come file di configurazione.

Fai attenzione al fatto che i file presenti in logrotate.d sono in tutto e per tutto dei file di configurazione di logrotate e non solo relativi a un particolare file di log. Un’opzione globale, contenuta cioè al di fuori delle parentesi graffe, si applica a tutti i file successivi. A meno che tu non abbia un motivo valido per farlo, tutti i file che si trovano in /etc/logrotate.d/ non hanno e non dovrebbero avere direttive al di fuori delle parentesi graffe.

Come funziona la rotazione dei log

La rotazione prevede la cancellazione dell’ultimo file ruotato mentre il suo posto viene preso dal penultimo file e così via. Ad esempio, se all’inizio si ha il file di log “evemilano_log” con tre rotazioni settimanali si avrà:

1^ settimana

  • evemilano_access.log viene ruotato e rinominato in evemilano_access.log.1
  • Viene creato un nuovo file evemilano_log

Risultato: evemilano_access.log, evemilano_access.log.1

2^ settimana

  • evemilano_access.log.1 viene rinominato in evemilano_access.log.2
  • evemilano_access.log viene rinominato in evemilano_access.log.1
  • Viene creato un nuovo file evemilano_access.log

Risultato: evemilano_access.log, evemilano_access.log.1, evemilano_access.log.2

3^ settimana

  • evemilano_access.log.2 viene rinominato in evemilano_access.log.3
  • evemilano_access.log.1 viene rinominato in evemilano_access.log.2
  • evemilano_access.log viene rinominato in evemilano_access.log.1

Risultato: evemilano_access.log, evemilano_access.log.1, evemilano_access.log.2, evemilano_access.log.3

rotazioni successive

  • evemilano_access.log.3 è rinominato in evemilano_access.log.4 e viene cancellato
  • evemilano_access.log.2 viene rinominato in evemilano_access.log.3
  • evemilano_access.log.1 viene rinominato in evemilano_access.log.2
  • evemilano_access.log viene rinominato in evemilano_access.log.1

Risultato: evemilano_access.log, evemilano_access.log.1, evemilano_access.log.2, evemilano_access.log.3

Opzioni riga di comando

-d, --debug
Attiva la modalità di debug e implica -v. In modalità di debug, non verranno apportate modifiche ai log o al file di stato di logrotate.

-f, --force

Indica a logrotate di forzare la rotazione, anche se non necessario. Potrebbe essere utile farlo dopo l’aggiunta di nuove voci a un file di configurazione di logrotate o se i vecchi file di registro sono stati rimossi manualmente, poiché i nuovi file verranno creati e la registrazione continuerà correttamente.

-m, --mail <command>

Indica a logrotate quale comando utilizzare quando invia i log per mail. Questo comando dovrebbe accettare due argomenti: 1) l’oggetto del messaggio e 2) il destinatario. Il comando deve quindi leggere un messaggio standard e spedirlo al destinatario. Il comando di posta predefinito è /bin/mail -s.

-s, --state <statefile>

Indica a logrotate di utilizzare un file di stato alternativo. È utile se logrotate viene eseguito come utente diverso per vari set di file di registro. Il file di stato predefinito è /var/lib/logrotate.status.

--usage

Stampa un breve messaggio di utilizzo.

--?, --help

Stampa un messaggio di aiuto.

-v, --verbose

Attiva la modalità dettagliata (verbosa).

File di configurazione

Logrotate ottiene tutte le informazioni sui file di log che deve gestire dalla serie di file di configurazione specificati nella riga di comando. Ogni file di configurazione può impostare opzioni globali (le definizioni locali sovrascrivono quelle globali e le definizioni successive sovrascrivono quelle precedenti) e specificare i file di log da ruotare. Un semplice file di configurazione assomiglia a questo:

# sample logrotate configuration file
compress
/var/log/messages {
rotate 5
weekly
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail www@my.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
/var/log/news/* {
monthly
rotate 2
olddir /var/log/news/old
missingok
postrotate
kill -HUP 'cat /var/run/inn.pid'
endscript
nocompress
}

Le prime righe impostano le opzioni globali; nell’esempio, i registri vengono compressi dopo essere stati ruotati. Si noti che i commenti possono apparire ovunque nel file di configurazione purché il primo carattere non di spaziatura sulla linea sia un #.

La seconda sezione dei file di configurazione definisce come gestire il file di log /var/log/messages. Il registro passerà attraverso cinque rotazioni settimanali prima di essere rimosso. Dopo che il file di registro è stato ruotato (ma prima che la vecchia versione del log sia stata compressa), verrà eseguito il comando /sbin/killall -HUP syslogd.

La terza sezione definisce i parametri per /var/log/httpd/access.log e /var/log/httpd/error.log. Questi log vengono ruotati ogni volta che crescono in dimensione e superano i 100k e i vecchi file di registro vengono inviati (non compressi) a www@my.org dopo aver eseguito 5 rotazioni, anziché essere rimossi. Sharedscripts indica che lo script postrotate verrà eseguito una volta sola (dopo che i registri precedenti sono stati compressi), non una volta per ogni registro che viene ruotato. Si noti che le virgolette doppie attorno al primo nome file all’inizio di questa sezione consentono a logrotate di ruotare i registri con spazi nel nome. Si applicano le normali regole della shell, con caratteri , e \ supportati.

L’ultima sezione definisce i parametri per tutti i file in /var/log/news. Ogni file viene ruotato su base mensile. Questa è considerata una direttiva di rotazione singola e se si verificano errori per più di un file, i file di registro non vengono compressi.

Utilizza i caratteri jolly con cautela. Se si specifica *, logrotate ruota tutti i file, compresi quelli precedentemente ruotati. Un modo per aggirare questo è usare la direttiva olddir o un jolly più preciso (come *.log).

Descriviamo ora brevemente i principali file di cui si serve logrotate.

/etc/cron.daily/logrotate

Questo script ha il seguente contenuto:
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf

Obiettivo dello script è verificare l’esistenza di logrotate e, quindi, eseguirlo con le impostazioni contenute nel file /etc/logrotate.conf . Vista la sua locazione, questo script viene eseguito dal demone cron ogni giorno. Il minuto e l’ora della sua esecuzione sono determinati dal file /etc/crontab, in particolare dalla riga:

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
In questo esempio si vede come gli script contenuti in /etc/cron.daily vengano eseguiti ogni giorno alle 6.25 .

Assicurati che la macchina sia accesa quando Cron lancia gli script giornalieri; in caso contrario questi script, e dunque anche logrotate, non verranno eseguiti portando all’effetto indesiderato di avere file di log di dimensioni abnormi. Per evitare questo problema può essere necessario modificare il file /etc/crontab oppure installare Anacron.

/etc/logrotate.conf

Questo è il file di configurazione principale di Logrotate. Il suo compito è informare logrotate su tutte le opzioni di configurazione da utilizzare per tutti i file di log specificati. Le righe che iniziano con il carattere “#” sono viste come commenti.

Utilizza spesso e volentieri i commenti per descrivere ciò che si è modificato (e magari anche la data della modifica). Potranno sembrare un’inutile perdita di tempo ma ringrazierai di averli scritti quando andrai a leggere la configurazione a distanza di mesi.

La direttiva:
include /etc/logrotate.d
serve a specificare il percorso in cui si trovano gli altri file di configurazione aggiuntivi per logrotate. Il normale flusso del file viene interrotto, si leggono i file in logrotate.d e poi si riprende dalla riga successiva a “include”. Ovviamente possono essere aggiunti tutti gli “include” che si desiderano.

L’opzione “include’ risulta particolarmente utile per specificare un file o una directory personalizzata. In questo modo è possibile inserire delle proprie configurazioni senza modificare più di troppo il file logrotate.conf o senza aggiungere file a logrotate.d .

Poiché questo file viene letto per primo, le opzioni contenute in logrotate.conf (ma che si trovano prima di “include”) si applicano a tutti i file di log che hanno una sezione di configurazione nello stesso logrotate.conf oppure nei file contenuti in /etc/logrotate.d .

Ad esempio la direttiva:
rotate 4
viene applicata a tutti i file di log, a meno che non venga inserita successivamente una uguale opzione che specifichi diversamente.

/etc/logrotate.d/

In questa directory sono contenuti i file di configurazione per diversi log di sistema. Questi file vengono tipicamente installati da diversi pacchetti per gestire propri file di log. I file contenuti in questa directory sono letti da logrotate in ordine alfabetico e, a meno che non abbiano una estensione particolare (vedi la direttiva tabooext), vengono visti tutti come file di configurazione.

Ad esempio:

/etc/logrotate.d/consolekit
viene installato tramite il pacchetto consolekit e istruisce logrotate su come gestire il file di log /var/log/Consolekit/history

/etc/logrotate.d/dpkg
viene installato tramite il pacchetto dpkg e istruisce logrotate su come gestire i file di log /etc/log/dpkg.log e /var/log/alternatives.log

/etc/logrotate.d/rsyslog
viene installato tramite il pacchetto rsyslog e istruisce logrotate su come gestire importanti file di log tra cui /var/log/kern.log, /var/log/syslog e /var/log/auth.log

Presta particolare attenzione al fatto che i file presenti in logrotate.d sono in tutto e per tutto dei file di configurazione di logrotate e non solo relativi a un particolare file di log. Una opzione globale, contenuta cioè al di fuori delle parentesi graffe, si applica a tutti i file successivi.
A meno che non abbiate un motivo valido per farlo, tutti i file che si trovano in /etc/logrotate.d/ non hanno e non dovrebbero avere direttive al di fuori delle parentesi graffe.

/var/lib/logrotate/status

Questo è il file in cui sono contenuti gli orari (timestamp) in cui è avvenuta l’ultima rotazione per un particolare file. La forma di questo file è:

nome_file_di_log timestamp
quindi per ogni file viene specificato un timestamp che viene aggiornato dopo ogni rotazione.
logrotate, ad ogni sua esecuzione, consulta questo file per determinare se la rotazione deve avvenire o meno; inserisce anche nuove linee se sono state aggiunte configurazioni per altri file di log.

Le direttive di logrotate

Dentro la cartella /etc/logrotate.d trovi tutti i file di configurazione dei vari software che generano log. Apri il file del software dove vuoi configurare il logging. I seguenti comandi possono essere usati per la configurazione delle regole.

compress

Le versioni precedenti dei file di registro sono compresse con gzip per impostazione predefinita. Vedi anche nocompress.

compresscmd

Specifica quale comando utilizzare per comprimere i file di registro. L’impostazione predefinita è gzip. Vedi anche compress.

uncompresscmd

Specifica quale comando utilizzare per decomprimere i file di registro. L’impostazione predefinita è gunzip.

compressext

Specifica quale estensione usare su file di log compressi, se la compressione è abilitata. Il valore predefinito segue quello del comando di compressione configurato.

compressoptions

Le opzioni della riga di comando possono essere passate al programma di compressione, se viene uilizzato. L’impostazione predefinita, per gzip, è “-9” (compressione massima).

copy

Crea una copia del file di registro, ma non modifica l’originale. Questa opzione può essere utilizzata, ad esempio, per creare un’istantanea del file di registro corrente o quando qualche altra funzione o software deve troncare o analizzare il file. Quando viene utilizzata questa opzione, l’opzione create non avrà alcun effetto, poiché il vecchio file di registro rimane al suo posto.

copytruncate

Tronca il file di registro originale in posizione dopo aver creato una copia, invece di spostare il vecchio file di registro e opzionalmente crearne uno nuovo. Può essere usato quando non si può dire a qualche programma di chiudere il suo file di log e quindi continuare a scrivere (aggiungendo) al file di registro precedente per sempre. Si noti che esiste una porzione di tempo molto piccola tra la copia del file e il suo troncamento, pertanto alcuni dati di registrazione potrebbero andare persi. Quando viene utilizzata questa opzione, l’opzione create non avrà alcun effetto, poiché il vecchio file di registro rimane in posizione.

create mode owner group

Immediatamente dopo la rotazione (prima dell’esecuzione dello script postrotate) viene creato il file di registro (con lo stesso nome del file di registro appena ruotato). mode specifica la modalità per il file di registro in ottale (lo stesso di chmod), owner specifica il nome utente che sarà il proprietario del file di registro e il gruppo specifica il gruppo a cui apparirà il file di registro. Qualsiasi attributo del file di registro può essere omesso, nel qual caso tali attributi per il nuovo file utilizzeranno gli stessi valori del file di registro originale per gli attributi omessi. Questa opzione può essere disabilitata usando l’opzione nocreate.

daily

I file di registro vengono fatti ruotare ogni giorno.

dateext

Archivia vecchie versioni di file di registro aggiungendo un’estensione giornaliera come YYYYMMDD invece di aggiungere semplicemente un numero. L’estensione può essere configurata utilizzando l’opzione dateformat.

dateformat format_string

Specify the extension for dateext using the notation similar to strftime(3) function. Only %Y %m %d and %s specifiers are allowed. The default value is -%Y%m%d. Note that also the character separating log name from the extension is part of the dateformat string. The system clock must be set past Sep 9th 2001 for %s to work correctly. Note that the datestamps generated by this format must be lexically sortable (i.e., first the year, then the month then the day. e.g., 2001/12/01 is ok, but 01/12/2001 is not, since 01/11/2002 would sort lower while it is later). This is because when using the rotate option, logrotate sorts all rotated filenames to find out which logfiles are older and should be removed.

Specifica l’estensione per dateext usando la notazione simile alla funzione strftime. Sono consentiti solo gli identificatori %Y %m %d e %s. Il valore predefinito è -%Y%m%d. Considera che anche il carattere che separa il nome del registro dall’estensione fa parte della stringa dateformat. L’orologio di sistema deve essere impostato oltre il 9 settembre 2001 affinché %s funzioni correttamente. I valori di datestamp generati da questo formato devono essere lessicalmente ordinabili (ovvero, prima l’anno, poi il mese poi il giorno. Ad esempio, 2001/12/01 è ok, mentre 01/12/2001 non lo è. Questo perché quando si utilizza l’opzione rotate, logrotate ordina tutti i nomi dei file ruotati per scoprire quali file di log sono più vecchi e devono essere rimossi.

delaycompress

Rinvia la compressione del file di registro precedente al ciclo di rotazione successivo. Questo ha effetto solo se usato in combinazione con compress. Può essere usato quando non si può dire ad alcuni programmi di terminare il loro file di log e quindi potrebbero continuare a scrivere sul file di log precedente per qualche tempo.

extension ext

I file di registro con estensione ext possono tenerla dopo la rotazione. Se si utilizza la compressione, l’estensione di compressione (normalmente .gz) appare dopo ext. Ad esempio, hai un file di registro chiamato mylog.foo e desideri ruotarlo su mylog.1.foo.gz anziché su mylog.foo.1.gz.

ifempty

Ruota il file di registro anche se è vuoto, sovrascrivendo l’opzione notifempty (ifempty è l’impostazione predefinita).

include file_or_directory

Legge il file dato come argomento come se fosse incluso in linea dove appare la direttiva include. Se viene fornita una directory, la maggior parte dei file in quella directory viene letta in ordine alfabetico prima che l’elaborazione continui. Gli unici file che vengono ignorati sono file che non sono file regolari (come directory e Named pipes) e file i cui nomi terminano con una delle estensioni taboo, come specificato dalla direttiva tabooext. La direttiva include potrebbe non apparire all’interno di una definizione di file di registro.

mail address

Quando un registro viene ruotato viene successivamente spedito all’indirizzo indicato nell’argomento. Se nessuna mail deve essere generata da un particolare log, può essere utilizzata la direttiva nomail.

mailfirst

Quando viene usato il comando mail, il server invia il file appena ruotato, invece del file che sta per scadere.

maillast

Quando viene usato il comando mail, il web server invia il file about-to-expire, invece del file appena ruotato (questo è l’impostazione predefinita).

maxage count

Rimuove i registri ruotati più vecchi dei giorni indicati nell’argomento count. L’età del file viene controllata solo se il file di registro deve essere ruotato. I file vengono spediti all’indirizzo configurato se maillast e mail sono configurati.

minsize size

I file di registro vengono ruotati quando diventano più grandi dei byte indicati nell’argomento size, ma non prima dell’intervallo di tempo specificato (daily, weekly, monthly, or yearly). L’opzione size è simile, tranne che si escludono a vicenda con le opzioni dell’intervallo di tempo e fa ruotare i file di registro senza tener conto dell’ultimo tempo di rotazione. Quando viene utilizzato il valore minsize, vengono considerate sia la dimensione size che il timestamp di un file di registro.

missingok

Se il file di registro è mancante, passare a quello successivo senza emettere un messaggio di errore. Vedi anche nomissingok.

monthly

I file di registro vengono ruotati la prima volta che logrotate viene eseguito in un mese (questo è normalmente il primo giorno del mese).

nocompress

Le versioni precedenti dei file di registro non vengono compresse. Vedi anche compress.

nocopy

Non copiare il file di registro originale e lasciarlo in posizione (questo sovrascrive l’opzione copy).

nocopytruncate

Non troncare il file di registro originale in posizione dopo aver creato una copia (questo sovrascrive l’opzione copytruncate).

nocreate

I nuovi file di registro non vengono creati (questo sovrascrive l’opzione create).

nodelaycompress

Non posticipare la compressione del file di registro precedente al ciclo di rotazione successivo (questo sovrascrive l’opzione delaycompress).

nodateext

Non archiviare le vecchie versioni dei file di registro con l’estensione di data (questo sovrascrive l’opzione dateext).

nomail

Non inviare via email i vecchi file di log.

nomissingok

Se un file di registro non esiste, genera un errore. Questo è l’impostazione predefinita.

noolddir

I registri vengono ruotati nella stessa directory in cui normalmente risiede il registro (questo sovrascrive l’opzione olddir).

nosharedscripts

Esegue gli script prerotate e postrotate per ogni file di registro che viene ruotato (questo è l’impostazione predefinita e sostituisce l’opzione sharedscripts). Il percorso assoluto del file di registro viene passato come primo argomento allo script. Se gli script generano errori, le azioni rimanenti non verranno eseguite solo per il registro interessato.

noshred

Non utilizzare shred quando si eliminano vecchi file di registro. Vedi anche shred.

notifempty

Non ruotare il registro se è vuoto (questo sovrascrive l’opzione ifempty).

olddir directory

I log vengono spostati nella directory per la rotazione. La directory deve trovarsi sullo stesso dispositivo fisico del file di registro che viene ruotato e si presume che sia relativa alla directory contenente il file di registro, a meno che non venga specificato un nome di percorso assoluto. Quando questa opzione è usata, tutte le vecchie versioni del registro finiscono nella directory. Questa opzione può essere sovrascritta dall’opzione noolddir.

postrotate/endscript

Le linee tra postrotate e endscript vengono eseguite (usando /bin/sh) dopo che il file di registro è stato ruotato. Queste direttive possono apparire solo all’interno della definizione del file di registro. Normalmente, il percorso assoluto del file di registro viene passato come primo argomento allo script. Se viene usato sharedscripts il pattern completo viene passato allo script. Vedi anche prerotate. Vedi sharedscripts e nosharedscripts per la gestione degli errori.

prerotate/endscript

The lines between prerotate and endscript (both of which must appear on lines by themselves) are executed (using /bin/sh) before the log file is rotated and only if the log will actually be rotated. These directives may only appear inside a log file definition. Normally, the absolute path to the log file is passed as first argument to the script. If sharedscripts is specified, whole pattern is passed to the script. See also postrotate. See sharedscripts and nosharedscripts for error handling.

firstaction/endscript

Le linee tra firstaction e endscript vengono eseguite (usando /bin/sh) una volta prima che tutti i file di registro che corrispondono al wildcarded pattern vengano ruotati, prima che venga eseguito lo script di prerotate e solo se almeno uno il registro verrà effettivamente ruotato. Queste direttive possono apparire solo all’interno di una definizione di file di registro. Il modello intero viene passato allo script come primo argomento. Se lo script termina con errori, non viene eseguita alcuna ulteriore elaborazione. Vedi anche lastaction.

lastaction/endscript

Le linee tra lastaction e endscript vengono eseguite una volta dopo che tutti i file di registro che corrispondono al modello jolly vengono ruotati, dopo che lo script postrotate viene eseguito e solo se almeno uno registro è ruotato. Queste direttive possono apparire solo all’interno di una definizione di file di registro. Il modello intero viene passato allo script come primo argomento. Se lo script termina con errori, viene visualizzato solo un messaggio di errore (poiché questa è l’ultima azione). Vedi anche firstaction.

rotate count

I file di registro vengono ruotati tante volte quanto definito nell’argomento count prima di essere rimossi o inviati all’indirizzo specificato in una direttiva mail. Se il count è 0, le versioni precedenti vengono rimosse anziché ruotate.

size size

I file di registro vengono ruotati solo se diventano più grandi del valore definito in size. Se size è seguito da k, si assume che la dimensione sia in kilobyte. Se si utilizza M, la dimensione è in megabyte e se si utilizza G, la dimensione è in gigabyte. Quindi, size 100, size 100k, size 100M e size 100, sono tutti validi.

sharedscripts

Normalmente, gli script prerotate e postrotate vengono eseguiti per ogni registro che viene ruotato e il percorso assoluto del file di registro viene passato come primo argomento allo script. Ciò significa che un singolo script può essere eseguito più volte per le voci del file di registro che corrispondono a più file (come l’esempio /var/log/news/*). Se vengono specificati script condivisi, gli script vengono eseguiti una volta sola, indipendentemente dal numero di registri che corrispondono al modello con caratteri jolly e viene passato a loro l’intero modello. Tuttavia, se nessuno dei log del pattern richiede la rotazione, gli script non verranno eseguiti affatto. Se gli script escono con errori, le azioni rimanenti non verranno eseguite per nessun registro. Questa opzione sostituisce l’opzione nosharedscripts e implica l’opzione create.

shred

Elimina i file di registro usando shred -u invece di unlink (). Ciò dovrebbe garantire che i registri non siano leggibili dopo la loro cancellazione pianificata; questa opzione è disabilitata per impostazione predefinita. Vedi anche noshred.

shredcycles count

Chiede a GNU shred di sovrascrivere i file di log un numero specifico di volte (count) prima della cancellazione. Senza questa opzione, verrà usato il valore default di shreds.

start count

Questo è il numero da utilizzare come base per la rotazione. Ad esempio, se si specifica 0, i registri verranno creati con un’estensione .0 mentre vengono ruotati dai file di registro originali. Se si specifica 9, i file di registro verranno creati con un .9, saltando da 0 a 8. I file verranno comunque ruotati il numero di volte specificato con la direttiva count.


tabooext [+] list

L’attuale elenco di estensioni taboo è cambiato (vedi la direttiva include per informazioni sulle estensioni tabù). Se un + precede l’elenco delle estensioni, l’attuale elenco di estensioni taboo viene aumentato, altrimenti viene sostituito. All’avvio, l’elenco di estensioni taboo contiene .rpmorig, .rpmsave,, v, .swp, .rpmnew, ~, .cfsaved e .rhn-cfg-tmp- *.

weekly

I file di registro vengono ruotati se il giorno della settimana corrente è inferiore al giorno della settimana dell’ultima rotazione o se è trascorsa più di una settimana dall’ultima rotazione. Normalmente questo è lo stesso dei registri rotanti il primo giorno della settimana, ma funziona meglio se Logrotate non viene eseguito ogni notte.

yearly

I file di registro vengono ruotati se l’anno corrente non è uguale all’ultima rotazione.

Con queste informazioni ti dovresti essere fatto un’idea abbastanza completa di logrotate: cos’è, come funziona, come configurarlo e come monitorare lo stato.

Hai suggerimenti? Lascia un commento!

Articoli correlati

Autore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ultimi articoli aggiornati

Richiedi un preventivo SEO e Google Ads

Porta il tuo sito web al livello successivo con l’expertise di EVE Milano. La nostra agenzia di Search Marketing ha ricevuto oltre 1130 richieste di preventivo, un segnale chiaro della fiducia che imprenditori e manager, come te, ripongono nella nostra specializzazione tecnica e verticale nella SEO e PPC. Se la tua organizzazione cerca competenze specifiche per emergere nei risultati di Google, noi siamo pronti a fornire quel valore aggiunto. Affidati alla nostra esperienza per fare la differenza.
Richiedi un preventivo

Non perderti altre guide, iscriviti per ricevere un avviso mensile con gli aggiornamenti del blog!

Iscriviti alla newsletter!

Informativa sui cookies

Noi e terze parti selezionate utilizziamo cookie o tecnologie simili per finalità tecniche e, con il tuo consenso, anche per le finalità di esperienza e misurazione come specificato nella cookie policy. Puoi liberamente prestare, rifiutare o revocare il tuo consenso, in qualsiasi momento, accedendo al pannello delle preferenze. Il rifiuto del consenso può rendere non disponibili le relative funzioni. Usa il pulsante “Accetta” per acconsentire. Usa il pulsante “Rifiuta” per continuare senza accettare.