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!