Aktuální obsazenost diskových odílů zjistíme příkazem:
df -h
Přepínač -h zobrazí velikost v čitelnější podobě.
Kolik zabírají jednotlivé soubory a adresáže zjistíme takto:
du -h --max-depth=1 /home
Tento příkaz vypíše velikost všech domovských složek. Přepínačem –max-depth stanovíme hloubku zanoření do adresářové struktury.
Linux shell script monitoruje obsazenost disku a v případě dosažení nastavené hranice pošle varovnou zprávu na email.
#!/bin/sh
# Linux shell script sleduje obsazenost disku a v případě dosažení hranice pošle varovný email
# nastavte admin email, na který bude chodit varování
ADMIN="vas@email.cz"
# nastavení hranice obsazenosti v % pro poslání emailu
ALERT=90
df -HP | grep -vE '^Filesystem|tmpfs|cdrom' | 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
echo "Dochazi misto \"$partition ($usep%)\" na $(hostname) - $(date)" |
mail -s "VAROVANI: Dochazi misto na disku $usep" $ADMIN
fi
done
Vytvořte soubor například takto:
vim /home/vas_home/scripts/disk_space_monitor.sh
Zkopírujte do něj výše uvedený kód a uložte. Nastavte práva pro spouštění.
Funkčnost otestujete když nastavíte hranici pro odesílání tak nízko, aby byla níž než procentuální obsazenost některého z vašich disků (např: ALERT=10). Poté script spusťte.
/home/vas_home/scripts/disk_space_monitor.sh
Pokud vám přijde email, vše funguje jak má. Nastavte zpět požadovanou hranici (například na ALERT=90). Pak už stačí jen přidat spouštěč do cronu. Například takto (spouštění v 8:00):
00 08 * * * /home/ftonline/scripts/disk_space.sh
A je hotovo. Teď už se vám nestane, že by došlo místo aniž by jste o tom věděli ;)