Дата:2013-02-05
Первый скрипт производит разбор файла полученного при помощи программы "df", определяя размер диска и отсылает сообщение, если размер диска становится меньше 500 мб.
# vi
monit_dev.sh
#!/bin/bash
df -m | sed '{3,$D;}' | gawk '{print $n}' > /root/df
usage=$( sed '1d' /root/df
> /root/df1 | gawk '{print $4}' /root/df1 )
dev=$( gawk '{print $1}' /root/df1 )
min=500
date=`date +%m/%d/%Y`
mail=/bin/mail
user=ваше_имя@ваш_домен
if [ $usage -lt $min ]
then
echo "Disk $dev is $usage.MB " | $mail -s "Attention Date:$date
Disk $devFull" $user
else
echo "$dev is $usage.MB > 500.mb" > /dev/null
fi
где:
1) sed '{3,$D;}' - обрезает все начиная с 3 строки
gawk '{print $n}' > /root/df - выводит в файл все
2) sed '1d' /root/df - обрезает первую строку и выводит в файл /root/df1
gawk '{print $4}' /root/df1 - вырезает 4 столбец в котором находится
используемое пространство диска
В результате в переменную usage закладывается это число
3) dev=$( gawk '{print $1}' /root/df1 ) - вырезает первый столбец
В результате переменная dev бедет содержать наименование диска
После этого, все очень просто
Переменная $min содержит число 500 и Если переменная $usage
окажется меньше переменной $min тогда отослать письмо
Хотя вместо этого
df -m | sed '{3,$D;}' | gawk
'{print $n}' > /root/df
usage=$( sed '1d' /root/df
> /root/df1 | gawk '{print $4}' /root/df1 )
Можно было использовать и такой вариант
usage=$(df
-m /dev/hda1 | sed '1d' | gawk '{print $4}')
echo "$usage"
Осталось все это поместить в crontab
Еще один скрипт
производит мониторинг разделов, сортирует по максимальному, выводит
только 20 записей и добавляет в начало текст Usage и DIR и после первой
строки -------- ---
#!/bin/bash
home_dir="/home/"
for cheсk_dir in $home_dir
do
du -m $cheсk_dir |
sort -rn |
sed '{20,$D}' |
gawk '{printf $1 " " "\t\t" $2 "\n"}' |
sed '1i\Usage_MB \tDIR' |
sed '1a\---------- \t----------------'
echo $home_dir
done
# sh dir
Usage_MB
DIR
----------
----------------
29546
/home/
28210
/home/awer
23390
/home/awer/VirtualBox
Количество просмотров: 5347
Комментарии к статье:
Добавить комментарий