Logrotate è uno strumento da riga di comando di Linux per gestire le voci di registro. Questo strumento aiuta a eseguire diversi tipi di attività sulle voci di registro da parte dell'amministratore, come limitare i file di registro ruotati, comprimere i file di registro ruotati, eliminare i file di registro non necessari, eseguire il particolare script di shell basato sui file di registro, ecc. del comando 'logrorate' per la gestione dei file di registro in diversi modi sono mostrati in questo tutorial utilizzando più esempi.
Controlla la versione di Logrotate installata
Il comando “logrotate” è installato di default nella nuova versione del sistema operativo Ubuntu. Eseguire il comando seguente per verificare la versione installata del comando 'logrotate':
$ logrotate --versione
Per impostazione predefinita, le voci di registro delle diverse applicazioni vengono archiviate nella cartella '/var/log'. Il seguente contenuto simile verrà visualizzato se controlli il contenuto della cartella.
$ l / era / tronco d'albero
Imposta la configurazione “Logrotate”.
Valore di impostazione | Scopo |
giornaliero/settimanale/mensile/annuale | Definisce la durata temporale per la rotazione dei log. |
ruotare il numero | Definisce il numero di file che verranno conservati prima di rimuovere i vecchi file di registro. |
comprimere | Viene utilizzato per comprimere i file di registro. |
compresscmd | Viene utilizzato per impostare il comando “comprimi”. Il gzip è il comando predefinito. |
decomprimerecmd | Viene utilizzato per impostare il comando 'decomprimi'. Gunzip è il comando predefinito. |
ritardocompress | Viene utilizzato per ritardare il processo di compressione dei file di registro. |
notifica vuota | Viene utilizzato per non ruotare il file vuoto. |
Mi manca | Se è impostato, non viene generato alcun errore per i file di registro mancanti. |
misurare | Viene utilizzato per impostare il limite per avviare la rotazione dei file di registro. |
dataext | Viene utilizzato per aggiungere un valore di data come suffisso del file di rotazione. |
copytruncate | Viene utilizzato per creare una copia del file originale. |
preruotato | Viene utilizzato per eseguire uno script prima di ruotare i file di registro. |
postruotare | Viene utilizzato per eseguire uno script dopo aver ruotato i file di registro. |
creare | Viene utilizzato per creare file di registro con privilegio root. |
Sintassi:
La sintassi del comando “logrotate” è la seguente:
logrotate [ OPZIONE ] percorso_file_config
Diversi tipi di opzioni possono essere utilizzati per scopi diversi con il comando “logrotate”.
Opzioni di Logrotate
Alcune opzioni utili del comando “logrotate” sono menzionate di seguito:
-f, –forza | Viene utilizzato per effettuare la rotazione con forza quando richiesto. |
-d, –debug | Viene utilizzato per abilitare la modalità debug durante la rotazione. |
-m, –mail |
Viene utilizzato per inviare un'e-mail durante la rotazione. |
-s, –state |
Viene utilizzato per file di stato alternativi. |
–utilizzo | Viene utilizzato per stampare le informazioni sull'utilizzo. |
-?, -aiuto | Viene utilizzato per stampare i messaggi di aiuto. |
-v, –verboso | Viene utilizzato per stampare in modalità dettagliata. |
File di configurazione di Logrotate
Il file di configurazione principale di logrotate si trova nella posizione '/etc/logrotate.conf'. Esegui il comando seguente per aprire il file nell'editor nano:
$ nano / eccetera / logrotate.confL'impostazione predefinita del comando 'logrotate' è mostrata nel file 'logrotate.conf'. La direttiva 'include' viene utilizzata nel file per recuperare la configurazione che si trova nella directory '/etc/logrotate.d'.
Esempio 1: creare un file di configurazione Logrotate semplice
Creare un file di registro di esempio denominato '/var/log/test.log' con i dati di registro di esempio. Eseguire il comando seguente per aprire l'editor nano e creare un nuovo file 'logrotate.conf' nella posizione della cartella '/etc/tmp'. Crea la cartella “/tmp” con privilegi di root se non è stata creata prima.
$ nano / eccetera / tmp / logrotate.confAggiungere il seguente contenuto al file per il file '/var/log/test.log'. In base all'impostazione, il file 'test.log' verrà ruotato quotidianamente se la dimensione del file supera i 5K:
/ era / tronco d'albero / test.log {quotidiano
misurare 5K
il suo amministratore root
}
Eseguire il comando seguente per verificare la dimensione del file di registro:
$ l -l / era / tronco d'albero / test.logEsegui il comando 'logrotate' dopo aver creato il file di configurazione.
$ sudo logrotate / eccetera / tmp / logrotate.confEseguire nuovamente il comando seguente per verificare la dimensione del file di registro dopo aver eseguito il comando 'logrotate':
$ l -l / era / tronco d'albero / test.logLa dimensione del file 'test.log' è 1K+. Pertanto, non viene eseguita alcuna rotazione in base all'impostazione di configurazione.
Modificare il valore della dimensione in 1K nel file '/etc/tmp/logrotate.conf' ed eseguire nuovamente il comando 'ls' per verificare la dimensione del file '/var/log/test.log'. In base all'output, il file di registro viene ruotato ed eliminato perché è stato superato il limite di dimensione.
Esempio 2: utilizzo di Logrotate Copytruncate
Crea o modifica il file “/etc/tmp/logrotate.conf” con le seguenti impostazioni per mostrare l'uso di copytruncate. In base alle nuove impostazioni, logrotate crea una copia del file originale portando la dimensione del file originale a zero.
/ era / tronco d'albero / test.log {ruotare 5
misurare 1 k
copytruncate
il suo amministratore root
}
Eseguire il comando seguente per verificare la dimensione del file 'test.log':
$ l -l / era / tronco d'albero / test.logEsegui il comando 'logrotate' dopo aver creato il file di configurazione.
$ sudo logrotate / eccetera / tmp / logrotate.confEseguire nuovamente il comando seguente per verificare la dimensione del file 'test.log' dopo aver eseguito il comando 'logrotate':
$ l -l / era / tronco d'albero / test.logLa dimensione del file originale diventa 0 dopo aver eseguito il comando 'logrotate' per l'impostazione copytruncate.
Esempio 3: utilizzo di Logrotate Compress
Crea o modifica il file “/etc/tmp/logrotate.conf” con le seguenti impostazioni per mostrare l'uso della compressione. Secondo le nuove impostazioni, logrotate crea un file compresso del file originale.
/ era / tronco d'albero / test.log {ruotare 5
misurare 1 k
comprimere
creare 770 amministratore root
}
Eseguire il comando seguente per verificare l'elenco dei file e delle cartelle di '/var/log':
$ l / era / tronco d'albero /Esegui il comando 'logrotate' dopo aver creato il file di configurazione.
$ sudo logrotate / eccetera / tmp / logrotate.confEseguire nuovamente il comando seguente per verificare l'elenco dei file e delle cartelle di '/var/log':
$ l / era / tronco d'albero /Viene creato il file compresso del file “test.log” con il nome “test.log.1.gz” e il file originale viene rimosso.
Esempio 4: utilizzo di Logrotate Dateext
Crea o modifica il file '/etc/tmp/logrotate.conf' con le seguenti impostazioni per mostrare l'uso di dateext. Secondo le nuove impostazioni, logrotate crea un file compresso del file originale con il valore della data.
era / tronco d'albero / test.log {il suo amministratore root
ruotare 5
misurare 1 k
comprimere
creare 770 amministratore root
dataext
}
Esegui il comando 'logrotate' dopo aver creato il file di configurazione.
$ sudo logrotate / eccetera / tmp / logrotate.confEseguire il comando seguente per verificare l'elenco dei file e delle cartelle di '/var/log':
$ l -l / era / tronco d'albero /Viene creato il file compresso del file “test.log” con il nome “test.log.20240129.gz” e il file originale viene rimosso.
Esempio 5: utilizzo di Logrotate Maxage
Crea o modifica il file “/etc/tmp/logrotate.conf” con le seguenti impostazioni per mostrare l'uso di maxage. In base alle impostazioni, logrotate conserva cinque voci di registro se la dimensione del file di registro supera 1K dopo un giorno.
/ era / tronco d'albero / test.log {il suo amministratore root
ruotare 5
misurare 1 k
comprimere
massimo 1
}
Eseguire il seguente comando 'logrotate' per archiviare l'output in un altro file di registro denominato 'out.log':
$ sudo logrotate -S = / era / tronco d'albero / out.log / eccetera / tmp / logrotate.confSecondo il seguente output, il file “out.log” viene creato dopo aver eseguito il comando “logrotate”:
Esempio 6: utilizzo di Logrotate Missingok
Creare o modificare il file “/etc/tmp/logrotate.conf” con le seguenti impostazioni. In questo caso, il file di registro 'testfile.log' non esiste nella cartella '/var/log'.
/ era / tronco d'albero / filediprova.log {il suo amministratore root
ruotare 5
misurare 1 k
comprimere
}
Un messaggio di errore viene stampato dopo aver eseguito il comando “logrotate”.
Aggiungi l'impostazione 'missingok' nel file di configurazione logrotate ed esegui nuovamente il comando 'logrotate'. Non viene stampato alcun errore per il file di registro mancante.
Esempio 7: utilizzo di Logrotate Prerotate
Crea un file Bash denominato 'test.sh' con il seguente script che stampa un semplice messaggio. Il file viene utilizzato in questo esempio logrotate per mostrare l'uso della prerotazione nel file di configurazione logrotate.
prova.sh#!/bin/bash
eco 'esempi logrotate...'
Dopo aver creato il file, esegui il comando seguente per impostare i permessi di esecuzione di questo file per tutti gli utenti:
$ chmod a+x / casa / comprensione / prova.shOra crea o modifica il file “/etc/tmp/logrotate.conf” con le seguenti impostazioni. In base alle impostazioni, logrotate conserva cinque voci di registro se la dimensione del file di registro supera 1K e il file 'test.sh' viene eseguito prima della rotazione.
/ era / tronco d'albero / test.log {il suo amministratore root
ruotare 5
misurare 1 k
preruotato
/ casa / comprensione / prova.sh
endscript
}
L'output del file “test.sh” viene mostrato dopo aver eseguito il comando “logrotate”:
Conclusione
I vari usi del comando 'logrotate' sono mostrati in questo tutorial utilizzando molteplici esempi che aiuteranno l'utente Linux a conoscere gli usi del comando e a gestire correttamente i file di registro.