Уведомление на почту о заполнении диска в Linux
Для отправки уведомления у вас должна работать стандартная утилита mail. Адреса кому отправлять уведомление для удобства можно прописать в /etc/aliases, я добавляю строку admins и в нее прописываю нужные адреса.
Сам скрипт (найден где-то на форуме, немного переделан под себя):
Сам скрипт (найден где-то на форуме, немного переделан под себя):
#!/bin/bash
##Global vars
threshold=90 ##Порог критического значения свободного места, после 90% шлем уведомление
subject="Disk status $( hostname )"
temp_file=/tmp/disk_status
##Function : check_disk_space
##Description : it will check all partitions and it will return # non-zero exist status if use >= threshold
check_disk_space(){
awk -v threshold=$threshold 'BEGIN{
status = 0
cmd = "LC_ALL=C df -Ph"
while( cmd | getline ) {
used=$5
if ( $1 != "Filesystem" && int(used) >= threshold ) {
printf "CRITICAL : Disk space alert (%s) :: [ Partition %s | mount point %s ]n",
used,$1, $NF > "/dev/stderr"
status = 1
}
}
exit status
}'
}
check_disk_space > $temp_file 2>&1
if [[ -s $temp_file ]]
then
mail -s $subject admins < $temp_file
fi