Kontroll av ledigt diskutrymme i Linux

Inledning

Det är lätt att få slut på diskutrymme på en server och det kan få allvarliga konsekvenser. Till exempel kan du få korrupta tabeller i MySQL.

Även inoder kan ta slut. Om du inte riktigt vet varför du använder så mycket inoder kan det bero på att en applikation skriver mycket temporära filer som inte rensas bort. Ett bra exempel på detta är PHP Sessions-filer och att Garbage Collector (GC) inte rensas korrekt.

Nedan är ett exempel som kan köras från crontab. Du får e-post när utrymmet eller inoderna överstiger 90% utnyttjande.

#!/bin/sh
# A small shell script to check disk and inode usage
    
EMAIL=some@email.com # Alert email address
LIMIT=90 # Percent (when to send email)
HOSTNAME=`hostname -f`
    
# Check all mount points
for i in `df |awk '{print $5}'|grep -v Use|sed 's/\%//'` ; do
        if [ $i -gt $LIMIT ];then
                (/usr/bin/printf "From: $EMAIL\nTo: $EMAIL\nSubject: Disk alert on $HOSTNAME\n\n" ; echo "Disk is $i full") | /usr/sbin/sendmail -f$EMAIL $EMAIL
        fi
done
for i in `df -i |awk '{print $5}'|grep -v Use|sed 's/\%//'` ; do
        if [ $i -gt $LIMIT ];then
                (/usr/bin/printf "From: $EMAIL\nTo: $EMAIL\nSubject: Disk alert on $HOSTNAME\n\n" ; echo "Inode use $i percent") | /usr/sbin/sendmail -f$EMAIL $EMAIL
        fi
done

Hittar du inte det du söker?

Kontakta oss gärna för mer information. Vi hjälper dig att komma fram till den bästa lösningen för dina behov.

Skicka e-post Ring 0200-23 88 00