搞运维的都希望服务器在出现异常情况下第一时间自己能了解到,避免因时间差带来的损失;
服务器宕机有idc机房的监测;若服务器出现程序bug等导致服务器cpu和sysload超高这个很难监测到;
最近公司服务器调试的频繁,经常出现问题又么及时发现而影响很大;
这不研究了下perl;使用perl写了个脚本实现自动监测,出现异常(不包括断网宕机)能及时发邮件通知到手机邮箱上;提高了工作效率;具体的过程如下(谷歌上百度得到的结果):
测试环境:linux-5.3系统-2.6.9-42,perl-5.8.5;
在测试过程中需要加载2个perl模块,直接下载解压,编译安装就可以了;
wget
wget
wget
tar 文件;cd ,perl Makefile.PL;make,make install;
其中是代码如下:
use strict;
use MIME::Lite;
use MIME::Base64;
use Authen::SASL;
sub Sendmail {
my $from = ;
my $passwd = 'passwd';
my $to = ;
my $subject = ko;
my $messages = ok;
###############################################
my $msg = MIME::Lite->new(
From => $from,
To => $to,
Subject => $subject,
Type => 'TEXT',
Data => $messages,
);
#############################################
MIME::Lite->send('smtp','smtp.sunzj.com',
Debug =>'1',
AuthUser =>$from,
AuthPass =>$passwd,
);
###############################################
$msg->send;
}
整个过程中基本上很顺利;若缺少相应的模块可去下载(cpan.wenzk.com);
其中出现邮件发送不成功可能原因有dns解析或者邮箱密码错误等情况;其他的没遇到;
that!
阅读(1427) | 评论(0) | 转发(0) |