注:检测磁盘大小 然后给指定的邮箱发信
需要先测试 echo hello | mail -s "good" 成功 调试smtp
#!/usr/bin/perl
$ip_addr=`/sbin/ifconfig eth0 | perl -lne 'print \$1 if/inet addr:(.*)Bcast/'`; $ip_addr=~ s/^\s+|\s+$//g; print $ip_addr,"\n"; $admin_addr = 'xxxx\@126.com'; &check_dfusage; exit(); sub check_dfusage { @diskinfo=`df`; $message_text = ' '; foreach (@diskinfo) { ($dirname,$arg1,$arg2,$arg3,$arg4,$arg5,$arg6) = split (' ',$_,7);
($arg4num,$therest) = split ('%',$arg4,2); if ($arg4num > "70") { $message_text ="$ip_addr $arg5 Disk partition space usage over $arg4num%","\n"; } } if ($message_text ne ' ') { &sendmessage; } } sub sendmessage { open(SF,"|mail -v -s '$ip_addr Disk Partition Warning' $admin_addr"); print SF "$message_text"; close(SF); } |
阅读(2442) | 评论(1) | 转发(0) |