GNU/Linux >> Linux Esercitazione >  >> Linux

Configura logrotate su Redhat Linux

Logrotate è un'utilità progettata per gli amministratori che gestiscono server che producono un volume elevato di file di registro. Li aiuta a risparmiare spazio su disco, oltre a evitare il potenziale rischio di rendere un sistema non rispondente a causa della mancanza di spazio su disco.

Normalmente, una soluzione per evitare questo tipo di problema è l'installazione una partizione separata o un volume logico per un /var punto di montaggio. Tuttavia, logrotate può anche essere una valida soluzione a questo problema, soprattutto se è troppo tardi per spostare tutti i log in partizioni diverse.

In questo tutorial, mostreremo come configurare il servizio logrotate su Red Hat Enterprise Linux, in modo da poter riprendere i file di log sotto il tuo controllo.

In questo tutorial imparerai:

  • Come utilizzare l'utilità logrotate su RHEL
  • Dove sono archiviati i file di configurazione di logrotate
  • Come impostare una configurazione logrotate personalizzata
  • Come testare un'implementazione logrotate
Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Red Hat Enterprise Linux
Software logrotate
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Cos'è logrotate?


Logrotate offre la possibilità a un amministratore di sistema di ruotare e archiviare sistematicamente tutti i file di registro prodotti dal sistema, riducendo così il requisito di spazio su disco del sistema operativo. Per impostazione predefinita, logrotate viene invocato una volta al giorno utilizzando uno scheduler cron dalla posizione /etc/cron.daily/ .

# ls /etc/cron.daily/
cups  logrotate  makewhatis.cron  mlocate.cron  prelink  readahead.cron  rhsmd  tmpwatch

Configurazione logrotate

La configurazione di Logrotate viene eseguita modificando due file di configurazione separati:

  • /etc/logrotate.conf
  • file di configurazione specifici del servizio archiviati in /etc/logrotate.d/

Il principale logrotate.conf contiene una configurazione generica. Ecco un file di configurazione logrotate predefinito logrotate.conf :

  weekly
  rotate 4
  create
  dateext
  include /etc/logrotate.d
  /var/log/wtmp {
      monthly
      create 0664 root utmp
          minsize 1M
      rotate 1
  }
  • Riga 1 – settimanale l'opzione di configurazione garantisce una rotazione settimanale di tutti i file di registro definiti nel file di configurazione principale e nella directory /etc/logrotate.d/.
  • Riga 2 – ruota 4 assicura che logrotate mantenga un backup di 4 settimane di tutti i file di registro
  • Riga 3 – crea opzione indica a logrotate di creare nuovi file di registro vuoti dopo ogni rotazione
  • Riga 4 – dateext aggiunge un'estensione a tutti i file di registro ruotati sotto forma di data in cui ogni particolare file di registro è stato elaborato da logrotate
  • Riga 5 – includi tutte le altre configurazioni dalla directory /etc/logrotate.d
  • La riga 6 – 11 contiene una configurazione di rotazione del registro di servizio specifica

Al contrario di logrotate.conf , una directory /etc/logrotate.d/ contiene uno specifico file di configurazione del servizio utilizzato da logrotate. Nella prossima sezione creeremo un esempio di configurazione logrotate dello scheletro.

Inclusi nuovi log di servizio da loggare

In questa sezione aggiungeremo un nuovo file di registro in una configurazione logrotate. Diciamo che abbiamo un file di registro chiamato /var/log/linuxserver.log , seduto nel nostro /var/log directory che deve essere ruotata su base giornaliera.

Per prima cosa dobbiamo creare un nuovo file di configurazione logrotate per ospitare il nostro nuovo file di registro:

# vi /etc/logrotate.d/linuxserver

Inserisci il seguente testo in /etc/logrotate.d/linuxserver:

/var/log/linuxserver.log {
        rotate 7
        daily
        compress
        delaycompress
        missingok
        notifempty
        create 660 linuxuser linuxuser }

Questo file di configurazione verrà eseguito quotidianamente, creerà un massimo di 7 archivi di proprietà di linuxuser e linuxuser group con 660 autorizzazioni, comprimerà tutti i log ed escluderà solo i file di log vuoti e di ieri. Ecco alcune parole chiave di configurazione logrotate selezionate. Per un tutorial completo, controlla la pagina man di logrotate.

ogni giorno I file di registro vengono ruotati ogni giorno.
settimanale 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 è lo stesso della rotazione dei registri il primo giorno della settimana, ma se logrotate non viene eseguito ogni notte, alla prima opportunità valida avverrà una rotazione del registro.
mensile I file di registro vengono ruotati la prima volta che logrotate viene eseguito in un mese (normalmente il primo giorno del mese).
notifica vuota Non ruotare il registro se è vuoto (questo ha la precedenza sull'opzione ifempty).
nocompress Le versioni precedenti dei file di registro non sono compresse.
compressione del ritardo Pospone la compressione del file di registro precedente al ciclo di rotazione successivo. Questo ha effetto solo se usato in combinazione con compress. Può essere utilizzato quando non è possibile dire a un programma di chiudere il proprio file di registro e quindi potrebbe continuare a scrivere sul file di registro precedente per un po' di tempo.
comprimi Le versioni precedenti dei file di registro sono compresse con gzip per impostazione predefinita.
indirizzo e-mail Quando un registro viene annullato a rotazione, viene inviato all'indirizzo. Se nessun messaggio di posta deve essere generato da un registro particolare, è possibile utilizzare la direttiva nomail.
manca bene Se manca il file di registro, passa a quello successivo senza emettere un messaggio di errore.

Una volta che il tuo file di configurazione è pronto, copialo semplicemente nella directory logrotate e cambia proprietario e autorizzazioni:

# cp linuxserver /etc/logrotate.d/
# chmod 644 /etc/logrotate.d/linuxserver
# chown root.root /etc/logrotate.d/linuxserver

Test di una nuova configurazione di Logrotate

Ora che la configurazione logrotate è stata implementata, segui i passaggi seguenti per testarla.

  1. Crea un file di log di esempio, se non esiste già:
    # echo "rotate my log file" > /var/log/linuxserver.log
    
  2. Una volta che il file di registro è a posto, forza logrotate a ruotare tutti i registri con -f opzione.
    # logrotate -f /etc/logrotate.conf
    

    Attenzione:il comando precedente ruoterà tutti i tuoi log definiti in /etc/logrotate.d directory.

  3. Ora visita di nuovo la tua /var/log/directory e conferma che il file di registro è stato ruotato e che è stato creato un nuovo file di registro.

Pensieri conclusivi

Come già accennato in precedenza, il modo migliore per evitare che il tuo sistema venga intasato dai file di registro è creare una partizione/volume logico separato per il tuo /var/ o ancora meglio /var/log directory. Tuttavia, anche in questo caso logrotate può aiutarti a risparmiare spazio su disco comprimendo i file di registro. Logrotate può anche aiutarti ad archiviare i tuoi file di registro per un riferimento futuro creando una copia aggiuntiva o inviandoti tramite e-mail tutti i file di registro appena ruotati.


Linux
  1. Configura l'archiviazione virtuale KVM predefinita su Redhat Linux

  2. Come configurare la virtualizzazione su Redhat Linux

  3. Come configurare LVM su Linux / CentOS / Redhat

  4. Come configurare il repository YUM in Linux/Centos/Redhat | YUM in Linux/Centos/Redhat

  5. logrotate Esempi di comandi in Linux

Come modificare un nome host su Redhat 7 Linux

Installa e configura Ansible in Linux

Come configurare una VLAN in Linux

3 modi per configurare un'interfaccia di rete in Linux

Configurazione di logrotate in Linux

Come configurare il cluster Linux con 2 nodi su RedHat e CentOS