Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23027
  • 博文数量: 4
  • 博客积分: 32
  • 博客等级: 民兵
  • 技术积分: 45
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-02 10:06
文章分类

全部博文(4)

文章存档

2014年(1)

2013年(2)

2012年(1)

我的朋友

分类: 系统运维

2014-01-06 16:02:16

因使用snmp来监控远端服务器(linux系统),且数量较多,为了能高效的查看这些服务器上的snmp服务是否开启,特写如下脚本:

点击(此处)折叠或打开

  1. #!/usr/bin/perl -w

  2. use strict;
  3. use Net::SSH::Perl;

  4. my ($myfile,$ssh,$line,@fields);

  5. $myfile = "host_msg.txt";
  6. open(FILE, "$myfile");
  7. while($line = <FILE>){
  8.   chomp($line);
  9.   @fields = split(/\s+/, $line);

  10.   ########################################################
  11.   # 检查主机是否可以远程登录。
  12.   # 如果主机不可以远程登录,则执行对下一个城市节点的访问
  13.   ########################################################
  14.   eval{
  15.     $ssh = Net::SSH::Perl->new($fields[1]);
  16.   };
  17.   if($@){
  18.     print "$fields[0]:无法远程连接\n";
  19.     next;
  20.   };
  21.   
  22.   #################################################################
  23.   # 执行远程登录
  24.   #################################################################
  25.   $ssh->login($fields[2],$fields[3]);
  26.   my ($stdout, $stderr, $exit) = $ssh->cmd("service snmpd status");
  27.   $ssh->cmd("exit");
  28.   if($stderr){
  29.     print "$fields[0]:ErrorCode:$exit\n";
  30.     print "ErrorMsg:$stderr";
  31.   } else {
  32.     print "$fields[0]:$stdout";
  33.   }

  34. }
  35. close(FILE);


阅读(1726) | 评论(0) | 转发(0) |
0

上一篇:Oracle脱机完全备份

下一篇:没有了

给主人留下些什么吧!~~