GNU/Linux >> Linux Esercitazione >  >> Linux

Gestire i log con Logrotate su Ubuntu

Le prestazioni di un computer o di un ambiente server dipendono molto dalla memoria di sistema e dall'utilizzo del disco. Se qualcosa sta consumando più spazio su disco, si verificherà un errore di sistema. Allo stesso modo, è necessario controllare l'aumento delle dimensioni del file di registro per ridurre tale rischio.

Logrotate è stato introdotto come un'utilità di sistema che ruota, comprime i file di registro e invia i registri di sistema per posta. Tale gestione dei file di registro riduce l'utilizzo dello spazio su disco e previene gli errori di sistema.

In questo articolo, discuteremo il processo di installazione e la configurazione di logrotate sul server Ubuntu 20.04 LTS.

Installazione di Logrotate su server Ubuntu 20.04

Su Ubuntu, logrotate è installato di default ma nel caso non sia installato, puoi installarlo con il comando come mostrato di seguito.

$ sudo apt update 
$ sudo apt install logrotate

Puoi confermare l'installazione con il comando come mostrato di seguito.

$ logrotate --version

I file di configurazione di Logrotate

Il file di configurazione per logrotate è creato dal demone logrotate. Esistono due percorsi per tale configurazione come mostrato di seguito.

/etc/logrotate.conf

È il file di configurazione generalmente creato per l'utilità logrotate

/etc/logrotate.d/

È la directory costituita dalla rotazione specifica delle applicazioni. Per impostazione predefinita, viene utilizzato /etc/logrotate.conf, ma affinché ogni applicazione abbia una configurazione diversa, può essere impostato su /etc/logrotate.d/.

Il file di configurazione Logrotate predefinito

Come sai che /etc/logrotate.conf è il file di configurazione predefinito. Controlliamo il file di configurazione come mostrato nello screenshot qui sotto.

Controlla il file di configurazione con il comando come mostrato di seguito.

$ cat /etc/logrotate.conf

Risultato:

Configurazione per un'applicazione specifica

Nello screenshot sopra, c'è una configurazione come include /etc/logrotate.d il che significa che la configurazione per applicazioni specifiche può essere impostata su questa directory. Qui mostreremo la configurazione per dpkg come mostrato di seguito.

$ cd /etc/logrotate.d/
$ cat dpkg

Per ottenere i dettagli di ciascuna riga di configurazione, controllare i punti discussi di seguito. Queste configurazioni sostituiranno la configurazione predefinita di /etc/logrotate.conf per applicazioni specifiche come dpkg.

  • mensile:ruota una volta al mese. Puoi sostituirlo con giornaliero, settimanale secondo le tue esigenze.
  • ruota 12:verranno mantenuti dodici vecchi file di registro. Sostituisce il 4 predefinito su /etc/logrotate.conf
  • comprimi:i file di registro per questa applicazione verranno compressi utilizzando gzip
  • delaycompress:la compressione del file di log precedente al ciclo di rotazione successivo viene posticipata in quanto è ancora utilizzato da alcuni programmi.
  • missingok:non scrivere alcun messaggio di errore se manca il file di registro
  • notifty:non ruotare il file di registro se è vuoto
  • crea 644 root root:il file di registro viene creato con il permesso 644, con utente e gruppo come root

Creazione del file di configurazione di Logrotate

Supponiamo che tu abbia installato un'applicazione come nginx e il suo file di registro sia stato creato su /var/log/nginx/ quindi puoi impostare un file di configurazione logrotate per questa specifica app con il comando mostrato di seguito.

Vai alla directory logrotate

$ cd /etc/logorate.d/

Crea un file logrotate con l'editor

$ vim nginx

/var/log/nginx/*.log {
   daily
   missingok
   rotate 14
   compress
   delaycompress
   notifempty
   create 0640 www-data adm
   sharedscripts
   prerotate
   if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
      run-parts /etc/logrotate.d/httpd-prerotate; \
   fi \
   endscript
   postrotate
   invoke-rc.d nginx rotate >/dev/null 2>&1
   endscript
}

Nella configurazione sopra, abbiamo impostato la rotazione per 14 in modo da mantenere 14 vecchi file di registro e il file di registro viene compresso con l'uso di gzip. Un'altra configurazione usata nel file sopra è quasi spiegata nella sezione del file di configurazione logrotate. Puoi eseguire la configurazione appena creata con l'utente con privilegi sudo come mostrato di seguito.

$ sudo logrotate -d /etc/logrotate.d/nginx

Qui, i file di registro vengono eseguiti come mostrato nello screenshot qui sotto.

Lograte con cron

Durante l'installazione del pacchetto logrotate, viene creato anche un file crontab sul processo all'interno di /etc/cron.daily col nome logrotate. Controlla lo screenshot come mostrato di seguito per ulteriori dettagli.

$ cat /etc/cron.daily/logrotate

Conclusione

In questo articolo, hai imparato come installare il pacchetto logrotate e controllare il file di configurazione dell'applicazione predefinito e specifico per logrotate con l'implementazione di crontab. Grazie!


Linux
  1. Ruota e archivia i registri con il comando logrotate di Linux

  2. Gestione di un'installazione Headless VirtualBox con phpvirtualbox (Ubuntu 16.04 LTS)

  3. File di configurazione del database Magento 2

  4. Utilizzo di Logrotate in Linux per gestire i file di registro (con esempi)

  5. Comprensione dell'utilità logrotate

Come gestire i file con Scilab su Ubuntu 15.04

Come configurare il networking con Netplan su Ubuntu

HowTo:l'esercitazione definitiva sui comandi Logrotate con 10 esempi

logrotate non è in grado di ruotare i registri, ottenendo nessun errore di file di questo tipo

Ubuntu - monta il file immagine con il permesso r/w

Monitora continuamente i tronchi con la coda che occasionalmente vengono ruotati