HowTo Slackware

Monitorare spazio disco su Slackware con script Bash

Controllo automatico soglie disco con df, log e cron.

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

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

Torna alla sezione HowTo Linux