Отправляет email-рассылки с помощью сервиса Sendsay

мониторинг пространства на винтах

Всем привет

появилась идея написать скрипт который бы мониторил доступность
физического пространства на дисках и в случае занятости раздела скажем
на 97% кидал бы почту. Так вот может кто уже писал нечто подобное и
поделится ???

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 28575; Возраст листа: 1197; Участников: 1681
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/606246

Ответить   Fri, 03 Nov 2006 11:00:04 +0700 (#606246)

 

Ответы:

Всем привет

написал вот такую строчку
df -h | awk 'BEGIN {Capacity=97} {if (Capacity < $5) print $0}' в
Linux работает нормально в Solaris и FreeBSD работает не правильно :(

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 28576; Возраст листа: 1197; Участников: 1687
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/606254

Ответить   Fri, 03 Nov 2006 12:42:18 +0700 (#606254)

 

Здравствуйте, Artur.

Вы писали 3 ноября 2006 г., 7:00:04:

nagios. там такие скрипты уже в libexec лежат.

Ответить   Fri, 3 Nov 2006 09:14:09 +0300 (#606263)

 

Здравствуйте, Artur.

Вы писали 3 ноября 2006 г., 6:00:04:

есть скриптец на перле DiskCheck

Ответить   Иван Осовец Fri, 3 Nov 2006 08:45:41 +0200 (#606268)

 

Иван Осовец пишет:

поделитесь

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 28579; Возраст листа: 1197; Участников: 1687
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/606277

Ответить   Fri, 03 Nov 2006 15:01:11 +0700 (#606277)

 

Здравствуйте, Artur.

Вы писали 3 ноября 2006 г., 10:01:11:

diskcheck.pl:

#!/usr/bin/perl
require '/etc/diskcheck.conf' || die "Config File Not Found";
$hostname = `hostname`;

chomp($hostname);

list=`df $ignore`;

($null, $blocksize, $null, $null, $null, $null, $null) = split (/\s+/, shift(@list));
$blocksize =~ s/-blocks$//;

open(MFILE, ">$tempfile.$$");

print MFILE "To: $mailto\n";
print MFILE "From: $mailfrom\n";
print MFILE "Subject: WARNING: Disk usage high on $hostname!!!\n";
print MFILE "\n";
$high = 0;

print MFILE "Disk usage for $hostname:\n\n";

for (@list) {
($volume, $total, $used, $available, $pct, $mountPoint) = split (/\s+/);
chop($pct);
chomp($mountPoint);
if ( $exclude !~ m=$volume= ) {
if ($Cutoff{$volume} ) {
if ($pct >= $Cutoff{$volume}) {
$high = 1;
print MFILE "$volume ($mountPoint) is $pct% full -- $used of $total
$blocksize-blocks used, $available remain\n";
}
}
elsif ($Cutoff{$mountPoint} ) {
if ($pct >= $Cutoff{$mountPoint}) {
$high = 1;
print MFILE "$volume ($mountPoint) is $pct% full -- $used of $total
$blocksize-blocks used, $available remain\n";
}
}
elsif ($pct >= $DefaultCutoff) {
$high = 1;
print MFILE "$volume ($mountPoint) is $pct% full -- $used of $total $blocksize-blocks
used, $available remain\n";
}
}
}

close (MFILE);

if ($high != 0) {
#mail the message
open(MAIL,"|$mailprog -t");

open(MFILE, "$tempfile.$$") || die "Can't open $tempfile.$$!";

while(<MFILE>) {
print MAIL $_;
}

close (MFILE);
}

unlink ("$tempfile.$$");

exit(0);

#######################################################################################
и файлик настройки
diskcheck.conf:

# anything 90% or fuller will be reported...
$DefaultCutoff = 90;

# List cutoffs for special drives to override the above
# You can list mount points or partitions
#$Cutoff{'/dev/hda3'} = 50;
#$Cutoff{'/home'} = 50;

# List one or more partitions to ignore...
#$exclude = "/dev/hda1 /dev/hda2";

# List one or more filesystem types to ignore...
# do -x <filesystem-type>
$ignore = "-x nfs -x iso9660";

# Who to mail to...
$mailto = "root";

# Who to mail from...
$mailfrom = "Disk Usage Warning System <root>";

# Location of sendmail
$mailprog = '/usr/sbin/sendmail';

# Location and name for a temp file
$tempfile = '/tmp/diskusagealert.txt';

у меня перловый скрипт в cron.hourly

Ответить   Иван Осовец Fri, 3 Nov 2006 09:24:00 +0200 (#606290)

 

Artur Andreev пишет:

mount_point="/usr /usr/local /home"
message="\n"
tmp="/home/admins/tmp"

for i in $mount_point
do
disk_space=`df $i | awk 'NR==2{print $5}' | sed -e "s/%//"`
if [ $disk_space -gt 97 ]; then
echo "Available disk space on $i is $disk_space percents" >> $tmp
fi
done

if [ -e $tmp ];then
mail -s "Disk space" $MAILTO < $tmp
fi

rm -f $tmp

скрип прописан в кноне (переменная $MAILTO не что не мешает прописать мыло)

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 28588; Возраст листа: 1197; Участников: 1687
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/606459

Ответить   Fri, 03 Nov 2006 08:39:02 +0500 (#606459)