1. Obiettivo
Avvisare quando una partizione supera una soglia (es. 85%) prima che il server si blocchi per disco pieno.
2. Script Bash esempio
#!/usr/bin/env bash
set -euo pipefail
THRESHOLD=85
LOGFILE=/var/log/disk-check.log
df -P | awk 'NR>1 {print $5, $6}' | while read -r use mountp; do
pct=${use%%%}
if [ "$pct" -ge "$THRESHOLD" ]; then
echo "$(date '+%F %T') WARN ${mountp} ${pct}%" >> "$LOGFILE"
fi
done
Salva ad esempio in /usr/local/sbin/disk-check.sh e rendi eseguibile:
chmod +x /usr/local/sbin/disk-check.sh
3. Test manuale
/usr/local/sbin/disk-check.sh
tail -n 50 /var/log/disk-check.log
4. Pianificazione con cron
chmod +x /etc/rc.d/rc.crond
/etc/rc.d/rc.crond start
crontab -e
# Controllo ogni 15 minuti
*/15 * * * * /usr/local/sbin/disk-check.sh
5. Miglioramenti possibili
- Invio mail con
mail/mailx - Webhook Telegram/Discord
- Escludere mount temporanei
- Controllo anche inode con
df -i
6. Controlli utili
df -h
df -i
du -sh /var/log/* | sort -h | tail
Anche uno script semplice e' meglio di accorgersi del problema a servizio fermo.
Checklist rapida
[ ] Script creato e testato
[ ] rc.crond attivo
[ ] Cron configurato
[ ] Log verificato
[ ] Soglia adeguata al server