您的位置:首页 > 运维架构

perl 监控数据变化

2015-10-13 09:24 344 查看

!/usr/bin/perl

use strict;

use DBI;

use HTTP::Date qw(time2iso str2time time2iso time2isoz);

use Net::SMTP;

sub send_mail{

if (@_ != 2){print “请输入2个参数\n”;exit 1};

(m,m,n) = @_; #将参数赋值给变量

my toaddress=to_address = m;

my CurrTime=time2iso(time());myCurrTime = time2iso(time());
my to_address = $m;

my mailuser=‘zhaoyangjian@zjcap.cn′;mymail_user = ‘zhaoyangjian@zjcap.cn’;
my mail_pwd = ‘xxxxxx’;

my $mail_server = ‘smtp.exmail.qq.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(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();


}

my dbName=‘oadb′;mydbName = ‘oadb’;
my dbUser = ‘query’;

my dbUserPass=‘query′;mydbUserPass = ‘query’;
my dbh = DBI->connect("dbi:Oracle:dbName”,dbName”, dbUser, dbUserPass)ordie“can′tconnecttodatabase“;mydbUserPass) or die “can’t connect to database “;
my sql = “select count(*) from VXSPACE.FORMMAIN_1530”;

my sth=sth = dbh->prepare($sql);

$sth->execute();

my var=var = sth->fetchrow_array();

print “$var is $var\n”;

读取上一次文件

#

open( A, “<”, “count.txt” );

while () {

count=count = _;

};

print “上次记录的记录数为$count\n”;

最新的文件记录数 写入count.txt

open( B, “>”, “count.txt” );

print B (“$var\n”);

if ( defined(count) &&count) && var != count &&count && var !=0 ){

print “开始处理\n”;

my sql=“selectstartdate,field0001from(select∗fromvxspace.FORMMAIN1530aorderby4desc)whererownum<2”;mysql = “select start_date,field0001 from (select * from vxspace.FORMMAIN_1530 a order by 4 desc) where rownum <2”;
my sth = dbh−>prepare(dbh->prepare(sql);

sth−>execute();while(my@arr=sth->execute();
while (my @arr = sth->fetchrow_array()){

print “@arr\n”;send_mail(‘zhaoyangjian@zjcap.cn’,”@arr\n”)

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: