Automatická kontrola volného místa na discích

Následují skript zkontroluje volné místo na jednotlivých discích, v případě překročení odešle e-mail:

#!/bin/sh
# Linux shell script sleduje obsazenost disku a v případě dosažení hranice pošle
# nastavte admin email, na který bude chodit varování
ADMIN="support@firma.cz"
# nastavení hranice obsazenosti v % pro poslání emailu
ALERT=85
df -HP | grep -vE '^Filesystem|tmpfs|cdrom|Souborový systém|none' | 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);
echo "Dochazi misto $partition $usep % na serveru $(hostname)" |
 mail -s "VAROVANI Dochazi misto na disku" $ADMIN;
fi
done

Pro periodické spouštění je třeba skrip přidat do crontabu:

# Periodická kontrola každý den v 7:35
35 7    * * *   root    /root/disk_space_monitor.sh > /dev/null 2>&1

Stažení skriptu zde.

Pro správnou funkci skriptu je nutné doinstalovat mailutils:

sudo apt-get install mailutils

Pokud není nainstalován Postfix je nutné nainstalovat i nullmailer:

sudo apt-get install nullmailer

Nastavení odchozího SMTP serveru se upravuje v konfiguračním souboru /etc/nullmailer/remotes. Formát souboru je následující:

[YOUR-SMPT-SERVER.COM] smtp --auth-login --user=[USER] --pass=[PASSWORD]

Odesílání prostřednictvím serveru smtp.qmail.com

smtp.gmail.com smtp --port=465 --auth-login --user=you@gmail.com --pass=password --ssl

Po změně konfigurace je nutný restart:

sudo /etc/init.d/nullmailer restart

 

Zdroje:
http://raspberry.znix.com/2013/03/nullmailer-on-raspberry-pi.html
http://blog.dq.cz/informacni-technologie/unix-linux/linux-monitoring-obsazenosti-disku/