您的位置:首页 > 数据库 > SQL

perl 监控mysql数据库

2015-06-11 15:54 656 查看
#!/usr/bin/perl
use HTTP::Date qw(time2iso str2time time2iso time2isoz);
use Net::Ping;
use Socket;
use Net::SMTP;
sub send_mail{
if (@_ != 2){print "请输入2个参数\n";exit 1};
($m,$n) = @_; #将参数赋值给变量
my $to_address  = $m;
my $CurrTime = time2iso(time());
my $to_address  = $m;
my $mail_user   = 'zhao.yangjian@163.com';
my $mail_pwd    = 'xxxxx';
my $mail_server = 'smtp.163.com';

my $from    = "From: $mail_user\n";
my $subject = "Subject: zjcap info\n";
my $info = "$CurrTime--$n";
my $message = <<CONTENT;
$info
CONTENT
my $smtp = Net::SMTP->new($mail_server);

$smtp->auth($mail_user, $mail_pwd) || die "Auth Error! $!";
$smtp->mail($mail_user);
$smtp->to($to_address);

$smtp->data();             # begin the data
$smtp->datasend($from);    # set user
$smtp->datasend($subject); # set subject
$smtp->datasend("\n\n");
$smtp->datasend("$message\n"); # set content
$smtp->dataend();
$smtp->quit();
};
use DBI;
$database='zjzc';
$user="root";
$passwd="xxxx";
$host="192.168.32.x";
$dbh = DBI->connect("dbi:mysql:database=$database;host=$host;port=3306",$user,$passwd) or (die "can't connect to database ", send_mail('zhaoyangjian@zjcap.cn', "test-database $database is lost"));

$database='zjzc';
$user="backup";
$passwd="axxxx";
$host="x.x.x.x";
$dbh = DBI->connect("dbi:mysql:database=$database;host=$host;port=3306",$user,$passwd) or (die "can't connect to database ", send_mail('zhaoyangjian@zjcap.cn', "database $database is lost"));

$database='pay';
$user="xxxx";
$passwd="xxx";
$host="1x1.x.x3.x";
$dbh = DBI->connect("dbi:mysql:database=$database;host=$host;port=3306",$user,$passwd) or (die "can't connect to database ", send_mail('zhaoyangjian@zjcap.cn', "database $database is lost"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: