Esempi di logrotate Linux

Esempi Di Logrotate Linux



Le informazioni di registro sono una parte molto importante di qualsiasi sistema operativo per diagnosticare il problema di qualsiasi applicazione in esecuzione e le voci di registro aiutano a scoprire la soluzione del problema. La maggior parte delle applicazioni del sistema operativo Linux generano il log e l'amministratore del sistema ottiene dalle voci del log le informazioni necessarie sull'applicazione. Tuttavia, le voci di registro talvolta creano problemi perché la dimensione delle voci aumenta con il tempo. Pertanto, è necessario gestire le voci di registro.

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.conf

L'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.conf

Aggiungere 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.log

Esegui il comando 'logrotate' dopo aver creato il file di configurazione.

$ sudo logrotate / eccetera / tmp / logrotate.conf

Eseguire 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.log

La 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.log

Esegui il comando 'logrotate' dopo aver creato il file di configurazione.

$ sudo logrotate / eccetera / tmp / logrotate.conf

Eseguire 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.log

La 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.conf

Eseguire 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.conf

Eseguire 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.conf

Secondo 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.sh

Ora 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.