// zrovna čtete...

Unix, Linux

Linux – Monitoring obsazenosti disku

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.

Automatický monitoring

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 ;)