Net::SSH::Perl 包
test 代码:
use strict;
use Net::SSH::Perl;
use Class::Std::Utils;
use Encode;
use POSIX qw(strftime);
my $ip="10.21.5.114";
my $t1;
my $t2;
my $name="zookeeper";
my $password="Paic1234";
$name = Encode::encode_utf8($name);
$password = Encode::encode_utf8($password);
for(my $i=0;$i<10;$i++){
my $datetime=strftime("%Y-%m-%d %H:%M:%S\n", localtime(time));
print "began:\n";
print $datetime;
my $ssh = Net::SSH::Perl->new($ip, debug => 0, protocol => 2);
$ssh->register_handler("stdout", sub {
my($channel, $buffer) = @_;
$t1=$buffer->bytes;
});
$ssh->register_handler("stderr", sub {
my($channel, $buffer) = @_;
$t2= $buffer->bytes;
});
$ssh->login($name,$password);
#$ssh->cmd("ls");
$ssh->cmd("uname -n");
print "t1:",$t1,"\n";
print "t2:",$t2,"\n";
my $datetime1=strftime("%Y-%m-%d %H:%M:%S\n", localtime(time));
print "end:\n";
print $datetime1;
print "\n";
print "========================\n";
sleep(1);
}
print "\n";
Net::OpenSSH 包
test代码:
use Net::OpenSSH;
use strict;
use Encode;
use POSIX qw(strftime);
my $host="10.21.5.114";
my $user_name="zookeeper";
my $password="Paic1234";
for(my $i=0;$i<10;$i++){
my $datetime=strftime("%Y-%m-%d %H:%M:%S\n", localtime(time));
print "began:\n";
print $datetime;
####################################################################
my $ssh = Net::OpenSSH->new($host,user => $user_name,password => $password);
$ssh->error and die "Couldn't establish SSH connection: ". $ssh->error;
$ssh->system("ls /tmp") or die "remote command failed: " . $ssh->error;
my @ls = $ssh->capture("ls");
$ssh->error and die "remote ls command failed: " . $ssh->error;
print "test:\n".@ls."\n";
foreach my $item (@ls) {
print "-------".$item."\n";
}
####################################################################
my $datetime1=strftime("%Y-%m-%d %H:%M:%S\n", localtime(time));
print "end:\n";
print $datetime1;
print "\n";
print "========================\n";
sleep(1);
}
运行结果
Net::SSH::Perl结果如下:
[oracle@CNSZ044953 ~]$ perl test_shell.pl
began:
2016-05-12 14:25:44
t1:SZA-L0015606
t2:
end:
2016-05-12 14:26:41
========================
began:
2016-05-12 14:26:42
t1:SZA-L0015606
t2:
end:
2016-05-12 14:27:46
========================
began:
2016-05-12 14:27:47
t1:SZA-L0015606
t2:
end:
2016-05-12 14:29:00
========================
began:
2016-05-12 14:29:01
t1:SZA-L0015606
t2:
end:
2016-05-12 14:29:59
========================
began:
2016-05-12 14:30:00
t1:SZA-L0015606
t2:
end:
2016-05-12 14:30:59
========================
began:
2016-05-12 14:31:00
。。。。。。
Net::OpenSSH结果如下:
[oracle@CNSZ044953 ~]$ perl test_openssh.pl
began:
2016-05-12 14:23:56
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:23:57
========================
began:
2016-05-12 14:23:58
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:23:58
========================
began:
2016-05-12 14:23:59
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:00
========================
began:
2016-05-12 14:24:01
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:01
========================
began:
2016-05-12 14:24:02
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:03
========================
began:
2016-05-12 14:24:04
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:04
========================
began:
2016-05-12 14:24:05
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:05
========================
began:
2016-05-12 14:24:06
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:07
========================
began:
2016-05-12 14:24:08
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:08
========================
began:
2016-05-12 14:24:09
hsperfdata_root
hsperfdata_zookeeper
lost+found
osw.hb
test:
6
-------log
-------mon
-------zkdata
-------zookeeper-3.4.5
-------zookeeper-3.4.5.zip
-------zookeeper_ps.sh
end:
2016-05-12 14:24:10
========================
时间戳显示 Net::OpenSSH 包性能效果更好