Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use Net::SSH::Perl;
- sub ping {
- ($host) = @_;
- $result = `ping -i 0.01 -c 10 $host`;
- return $result;
- }
- sub ssh{
- ($user, $pass, $ap) = @_;
- my $ssh = Net::SSH::Perl->new($ap);
- $ssh->login($user, $pass);
- $ssh->cmd('/log waring check;');
- my($stdout, $stderr, $exit) = $ssh->cmd('local passwd;\ local user;\ :set passwd [int pptp-client get pptp password];\ :set user [int pptp-client get pptp user];\ /log warning ($user, $passwd);\/interface pppoe-client add inter=bridge_WAN user=$user pass=$passwd name=pppoe dis=no;\ /ip ro setgateway=pppoe 0;\ /interface disable pptp;');
- print "\n $stdout ___ $stderr ___ $etxit";
- }
- $user = "admin";
- $pass = "1111";
- my @ip = (2..78);
- foreach my $i (@ip){
- $score = 0;
- $ap = "192.168.81.$i";
- $result = ping($ap);
- #print "$result \n";
- #Check results
- START:
- if ($result =~ /(\d+).\d+\%/){
- $loss = $1;
- print "\n$i - $loss\n";
- if ($loss == 100){
- $score = 4;
- }
- }
- $date = localtime(time);
- if ($score > 3){
- open (LOG, '>>/var/log/bat_reconfig.log');
- print LOG "$date WARNING! $ap UNREACHABLE\n";
- close (LOG);
- }
- else{
- open LOG, '>>/var/log/bat_reconfig.log';
- print LOG "$date OK! $ap executing script \n";
- close (LOG);
- ssh($user,$pass,$ap);
- # sleep (1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement