home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.skm.com.ua
/
2014.11.ftp.skm.com.ua.tar
/
ftp.skm.com.ua
/
incoming
/
1100-06.pl
< prev
next >
Wrap
Perl Script
|
2013-11-19
|
1KB
|
58 lines
#!/usr/bin/perl
use Net::Telnet;
my $login = ""; # napisat svoy
my $pwd = ""; # npisat svoy
$textred = "\033[31m";
$textgreen = "\033[32m";
$textreset = "\033[0m";
die "Usage: $0 <iplist.txt>\n" if( $#ARGV < 0 );
die "Error: file '$ARGV[0]' not exists\n" unless -f $ARGV[0];
close STDERR;
foreach (`cat $ARGV[0]`)
{
s/[\s\r\n]//g;
$ip=$_;
@tt=`/usr/local/bin/snmpget -c knsnmppublic -v2c -OvqE $ip 1.3.6.1.2.1.1.1.0`;
chomp(@tt[0]);
$descr=@tt[0];
if ($descr =~ /DGS-1100-06\/ME/ ) {
$descr_s="1100-06";
$hash{$ip}=$descr_s;
print "$ip - ${textgreen}alive${textreset} $descr_s \n";
} else {
print "$ip - ${textred}non${textreset} alive \n"
}
}
while ( ($k,$v)= each %hash ){
print "connect to $k\n";
$ok = new Net::Telnet(Host => $k,Port => 23,Input_log => $k.'.ilog', Option_log => $k.'.log',Timeout => 60,Errmode => 'return');
$ok->binmode(1);
$ok->waitfor('/ogin:.*$/i');
$ok->print($login);
$ok->waitfor('/ord:.*$/i');
$ok->print($pwd);
$ok->waitfor('/#.*$/i');
sleep(1);
swcmd('enable igmp_snooping');
swcmd('config igmp_snooping vlan_name INTERNET state enable');
swcmd('config router_ports vlan_name INTERNET add 6');
swcmd('save');
#swcmd('download firmware 195.182.202.3 1100-06f_V1-00-B036_A1.hex');
print "Updates ".$ip." sucesfull ".localtime().".\n";
$res = $ok->cmd('logout');
}
sub swcmd($) {
local $cmd = shift;
$res = $ok->cmd($cmd);
}