Agende a execução no crontab e pronto. Recomendo 1 vez ao dia.
OBS.
- No script abaixo, foram ignorados os filesystems "Sist|tmpfs|/mnt/backup"
- Quando a ocupação é maior que 90%, é enviado no e-mail a lista das 10 maiores pastas para facilitar a identificação dos "comedores de disco"
#!/bin/sh # Shell script para monitorar o espaço em disco # Irah enviar um email para $ADMIN, se o espaço em disco ocupado # for maior que 90% # Autor: Leandro Silva Ferreira ADMIN="seuemail@seudominio.com" ALERT=90 df -H | grep -vE '^Sist|tmpfs|/mnt/backup' | awk '{ print $5 " " $1 }' | while read output; do echo $output usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 }' ) if [ $usep -ge $ALERT ]; then biggers=$(cd / | du -hsx * | sort -rh | head -10) echo -e "Espaço em disco crítico em \"$partition ($usep%)\" no servidor $(hostname) em $(date) \\n\\nMaiores pastas na raiz:\\n$biggers" | mail -s "Alerta: Espaço em disco do servidor $(hostname) está no limite: $usep %" $ADMIN fi done