Rotazione e pulizia automatizzate dei log
Mantenga i dischi in buone condizioni automatizzando la rotazione dei log e la pulizia dei file obsoleti con logrotate e script pianificati basati su find.
Rotazione e pulizia automatizzate dei log è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Il problema dei log in crescita
I servizi a esecuzione prolungata scrivono log senza fine. Senza una gestione adeguata, riempiono il disco e causano il crash del sistema. La rotazione e la pulizia aiutano a tenerli sotto controllo.
du -sh /var/log/*Che cosa fa la rotazione dei log
La rotazione rinomina il log corrente, ne avvia uno nuovo vuoto e conserva un numero limitato di copie precedenti compresse.
- app.log diventa app.log.1
- le copie precedenti vengono compresse con gzip
- quelle più vecchie vengono eliminate
Introduzione a logrotate
logrotate è lo strumento standard di Linux che automatizza la rotazione in base alle dimensioni o all'età, configurato in /etc/logrotate.d/.
cat /etc/logrotate.confUna configurazione di base di logrotate
Un blocco di configurazione specifica i file di log e la relativa politica di rotazione.
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}Capire le direttive
Direttive comuni:
dailyesegue la rotazione ogni giornorotate 7conserva 7 file precedenticompresscomprime i log ruotati con gzipmissingokignora i file mancanti
Testare senza aspettare
Forzi un'esecuzione con -f oppure esegua una simulazione con -d per convalidare la configurazione prima di affidarsi alla pianificazione.
logrotate -d /etc/logrotate.d/myapp
logrotate -f /etc/logrotate.d/myappScript postrotate
Molti servizi mantengono aperto il vecchio descrittore di file. Un blocco postrotate segnala al servizio di riaprire il proprio log dopo la rotazione.
/var/log/myapp/*.log {
daily
postrotate
systemctl reload myapp
endscript
}Pulire i file vecchi con find
Per una pulizia occasionale, find con -mtime individua i file più vecchi di N giorni e li elimina.
find /var/log/myapp -name "*.log" -mtime +30 -deleteUno script di pulizia sicuro
Racchiuda la pulizia in uno script che registri ciò che rimuove, così da disporre di una traccia di controllo.
#!/bin/bash
DIR=/var/backups
find "$DIR" -name "*.tar.gz" -mtime +14 -print -delete \
>> /var/log/cleanup.log 2>&1Pianificare la pulizia
Affidi la rotazione a logrotate, già eseguito tramite cron, e pianifichi gli script di pulizia personalizzati con una voce apposita nel proprio crontab.
# crontab -e
30 2 * * * /usr/local/bin/cleanup.shMonitorare l'uso del disco
Aggiunga un controllo che invii un avviso quando una partizione supera una soglia, così la pulizia non viene eseguita troppo tardi.
USAGE=$(df --output=pcent / | tr -dc "0-9")
[ "$USAGE" -gt 90 ] && echo "Disk over 90%" | mail -s alert rootVerifica rapida
Verifichi la Sua conoscenza dell'automazione.
Riepilogo
Ha automatizzato la gestione dei log:
- logrotate ruota i log in base a età/dimensioni con
rotate,compress,postrotate - Convalidare con
-d/-f - Usare
find -mtime +N -deleteper la pulizia personalizzata - Pianificare con cron e usare avvisi sull'uso del disco come controllo
Impara Bash con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 22
- Lezioni
- 88
Domande Frequenti
La lezione «Rotazione e pulizia automatizzate dei log» è gratuita?
Sì — il testo completo di «Rotazione e pulizia automatizzate dei log» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Cosa imparerò in «Rotazione e pulizia automatizzate dei log»?
Mantenga i dischi in buone condizioni automatizzando la rotazione dei log e la pulizia dei file obsoleti con logrotate e script pianificati basati su find. Eserciti Linux Command Line & Bash Scripting Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Command Line & Bash Scripting Mastery?
Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Rotazione e pulizia automatizzate dei log»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Command Line & Bash Scripting Mastery?
Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Pianificazione delle attività con Cron
- Automazione dell’amministrazione di sistema
- Progetto di scripting avanzato
- Rotazione e pulizia automatizzate dei log