perl 监控端口
发布时间:2020-12-15 23:41:21 所属栏目:大数据 来源:网络整理
导读:use IO::Socket;use HTTP::Date qw(time2iso str2time time2iso time2isoz); use Net::SMTP;##监控8081sub check_server_alive { ( $server,$port ) = @_;$sock = IO::Socket::INET-new(PeerAddr = $server,PeerPort = $port,Proto = 'tcp');if (defined($so
use IO::Socket; use HTTP::Date qw(time2iso str2time time2iso time2isoz); use Net::SMTP; ##监控8081 sub check_server_alive { ( $server,$port ) = @_; $sock = IO::Socket::INET->new(PeerAddr => $server,PeerPort => $port,Proto => 'tcp'); if (defined($sock)){return 1}else{return 100}; }; 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 = 'zhaoyangjian@zjcap.cn'; my $mail_pwd = 'xxxxx'; my $mail_server = 'smtp.exmail.qq.com'; my $from = "From: $mail_usern"; my $subject = "Subject: zjcap infon"; 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("nn"); $smtp->datasend("$messagen"); # set content $smtp->dataend(); $smtp->quit(); }; $port=xxxx; @iplist1=('121.40.167.35','121.40.169.62','121.43.146.114','121.43.145.64'); foreach $host (@iplist1){ $result =check_server_alive($host,$port); if ($result == 1){print "host $host xxxx could connectn"} else {send_mail('zhaoyangjian@zjcap.cn',"host $host xxxx can't conenctn")}; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |