Introduzione
journalctl
è un comando utilizzato per visualizzare e gestire i log di sistema sul sistema operativo Linux. È un componente del sistema di gestione dei log "systemd" che sostituisce i vecchi strumenti come syslog
e rsyslog
. Journalctl consente di visualizzare, ricercare, filtrare e manipolare i log del sistema in modo più efficiente e organizzato. Inoltre, mantiene un registro dei log in un database relazionale integrato, in modo che i log possano essere recuperati anche dopo un riavvio del sistema.
Prima di procedere, è importante comprendere che i registri del journal contengono informazioni importanti che possono aiutare a diagnosticare i problemi. Si consiglia di conservare registri di alcune settimane per assicurarsi di disporre di dati sufficienti per risolvere eventuali problemi che potrebbero verificarsi.
Pulisci i registri manualmente usando Journalctl
Prima di iniziare, è importante comprendere che i log nel journal di systemd sono archiviati in formato binario e vengono ruotati automaticamente in base alle dimensioni e all'età. Ciò significa che non è necessario eliminare manualmente i vecchi registri per liberare spazio su disco. Tuttavia, potrebbe essere comunque necessario sfoltire i registri se è necessario liberare rapidamente spazio su disco o se i registri consumano una quantità eccessiva di spazio su disco.
Ecco i passaggi per utilizzare journalctl per ripulire i tuoi log.
Determina la dimensione dei registri del tuo diario
Il primo passo per automatizzare la pulizia dei log del journal è determinare la dimensione massima che desideri che siano i tuoi log. Puoi usare il seguente comando per controllare la dimensione attuale dei tuoi log:
journalctl --disk-usage
Questo ti mostrerà la dimensione totale del diario e la quantità di spazio su disco che sta consumando. Dovresti vedere l'output come:
Archived and active journals take up 2.2G in the file system.
Il comando precedente mostra che jouranlctl registra utilizzando 2,2 GB di spazio su disco.
Puoi anche controllare la dimensione del registro con il comando du -sh /var/log/journal
.
Eliminare i vecchi log
Una volta determinata la dimensione del journal, è possibile eliminare i vecchi log utilizzando le opzioni della riga di comando –vacuum-size
, –vacuum-time
. Una sintassi di base per eliminare i log in base alle dimensioni:
journalctl --vacuum-size=<size>
Sostituirecon la dimensione massima che si desidera venga consumata dal journal, in byte. Ad esempio, se desideri limitare il journal a 500 MB , devi utilizzare il seguente comando:
journalctl --vacuum-size=500M
È inoltre possibile rimuovere i file di registro più vecchi di un periodo di tempo specifico. Ad esempio, per rimuovere tutti i file più vecchi di 7 giorni, eseguire:
sudo journalctl --vacuum-time=7d
Verifica finale
Per verificare che i log siano stati eliminati, eseguire nuovamente il comando journalctl –disk-usage
e verificare che la dimensione del journal sia stata ridotta al limite desiderato.
Automatizzare la pulizia del registro Journalctl
I registri Journalctl possono consumare una grande quantità di spazio su disco nei sistemi Linux. Per tenere sotto controllo la dimensione dei log, puoi configurare Systemd per ripulire automaticamente i vecchi log. Questo può essere fatto modificando le impostazioni nel file /etc/systemd/journald.conf .
- SystemMaxUse : lo spazio massimo su disco che i file di registro possono utilizzare.
- SystemMaxFileSize : dimensione massima del file di registro individuale
- SystemMaxFiles : numero massimo di file di registro alla volta.
Ecco i passaggi per automatizzare la pulizia del log del journal utilizzando il file /etc/systemd/journald.conf:
Apri il file /etc/systemd/journald.conf in un editor di testo:
sudo nano /etc/systemd/journald.conf
Aggiungi o modifica le seguenti voci nel file:
# Set the maximum size of the journal logs in bytes
SystemMaxUse=200M
# Set the number of days after which logs will be deleted
MaxRetentionSec=7d
Salva e chiudi il file.
Riavvia il servizio journal Systemd per applicare le modifiche:
sudo systemctl restart systemd-journald
Ora, Systemd pulirà automaticamente i registri del journal che sono più vecchi di 7 giorni e assicurerà che la dimensione totale dei registri non superi i 200 milioni. Puoi controllare la dimensione attuale dei tuoi log usando il comando journalctl –disk-usage.
Nota: i valori utilizzati in questo esempio sono solo a scopo dimostrativo. È necessario regolare i valori per soddisfare i requisiti specifici del proprio sistema.
Conclusione
In questo articolo, abbiamo fornito una guida per principianti all'uso di journalctl per ripulire i log di sistema. Eliminando i vecchi log, puoi liberare spazio su disco e mantenere i tuoi log di sistema organizzati e facilmente ricercabili. Configurando le impostazioni nel file /etc/systemd/journald.conf, è possibile automatizzare il processo di pulizia dei log del journal nei sistemi Linux utilizzando Systemd. Questo aiuta a garantire che i tuoi log non consumino spazio su disco eccessivo e che tu abbia accesso ai dati di cui hai bisogno quando ne hai bisogno.