diff --git a/linux/log/journalctl.md b/linux/log/journalctl.md index b8bf024..dc3c6a1 100644 --- a/linux/log/journalctl.md +++ b/linux/log/journalctl.md @@ -61,7 +61,7 @@ Il suo file di configurazione predefinito si trova in: `/etc/systemd/journald.co Un certo numero di distribuzioni non consentono l'archiviazione permanente dei log sul disco per impostazione predefinita. -È possibile abilitare questa opzione impostando "Storage" su "persistent " come mostrato di seguito. Questo creerà la directory `/var/log/journal` e tutti i file journal saranno memorizzati +È possibile abilitare questa opzione impostando "Storage" su "persistent" come mostrato di seguito. Questo creerà la directory `/var/log/journal` e tutti i file journal saranno memorizzati al suo interno. ```bash @@ -77,7 +77,7 @@ journalctl è l'utilità che permette di visualizzare il contenuto scritto dal s - Per mostrare tutti i messaggi di log raccolti: ```bash -journalctl +journalctl -r ``` - È possibile visualizzare un codice per ogni avvio, i relativi ID e i timestamp col comando: @@ -197,14 +197,95 @@ journalctl -p 4..6 -b0 journalctl -f ``` -- Per eliminare vecchi file journal (archiviati) eseguire i comandi seguenti: +## Pulizia dei log + +I file di log si trovano in `/var/log/journal/` ```bash -sudo journalctl --vacuum-size=50M #delete files until the disk space they use falls below the specified size -sudo journalctl --vacuum-time=1years #delete files so that all journal files contain no data older than the specified timespan +journalctl --disk-usage ``` +Per ruotare i file di log, digitare il comando: + +```bash +journalctl --rotate +``` + +### Cancellare i log più vecchi di... + +```bash +journalctl --vacuum-time=2d +``` +### Limitare la dimensione dei log + +```bash +journalctl --vacuum-size=100M +``` + +## Limitare il numero dei file di log + +```bash +journalctl --vacuum-files=5 +``` + +### Cancellazione automatica dei vecchi file di log + +È possibile configurare systemd per gestire automaticamente i vecchi file di log. + +Il file di configurazione si trova in `/etc/systemd/journald.conf`. + +```bash + │ File: /etc/systemd/journald.conf +──────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────── + 1 │ [Journal] + 2 │ #Storage=auto + 3 │ #Compress=yes + 4 │ #Seal=yes + 5 │ #SplitMode=uid + 6 │ #SyncIntervalSec=5m + 7 │ #RateLimitIntervalSec=30s + 8 │ #RateLimitBurst=10000 + 9 │ #SystemMaxUse= + 10 │ #SystemKeepFree= + 11 │ #SystemMaxFileSize= + 12 │ #SystemMaxFiles=100 + 13 │ #RuntimeMaxUse= + 14 │ #RuntimeKeepFree= + 15 │ #RuntimeMaxFileSize= + 16 │ #RuntimeMaxFiles=100 + 17 │ #MaxRetentionSec= + 18 │ #MaxFileSec=1month + 19 │ #ForwardToSyslog=no + 20 │ #ForwardToKMsg=no + 21 │ #ForwardToConsole=no + 22 │ #ForwardToWall=yes + 23 │ #TTYPath=/dev/console + 24 │ #MaxLevelStore=debug + 25 │ #MaxLevelSyslog=debug + 26 │ #MaxLevelKMsg=notice + 27 │ #MaxLevelConsole=info + 28 │ #MaxLevelWall=emerg + 29 │ #LineMax=48K + 30 │ #ReadKMsg=yes + 31 │ #Audit=yes +``` + +Ecco alcuni utili parametri: + +| Setting | Description | +| --- | --- | +| SystemMaxUse | Max disk space logs can take | +| SystemMaxFileSize | Max size of an INDIVIDUAL log file | +| SystemMaxFiles | Max number of log files | + +Una volta modificato il file, riavviare il servizio: + +```bash +systemctl restart systemd-journald +``` + ## Collegamenti - [https://codepre.com/it/guia-para-principiantes-para-analizar-registros-en-linux-con-el-comando-journalctl.html](https://codepre.com/it/guia-para-principiantes-para-analizar-registros-en-linux-con-el-comando-journalctl.html) - [https://it.linux-console.net/?p=632#gsc.tab=0](https://it.linux-console.net/?p=632#gsc.tab=0) - [https://linuxhandbook.com/journalctl-command/](https://linuxhandbook.com/journalctl-command/) +- [https://linuxhandbook.com/clear-systemd-journal-logs/](https://linuxhandbook.com/clear-systemd-journal-logs/)