Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.35 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use Net::SSH::Perl;
  3.  
  4. sub ping {
  5.     ($host) = @_;
  6.     $result = `ping -i 0.01 -c 10 $host`;
  7.     return $result;
  8.     }
  9.  
  10. sub ssh{
  11.     ($user, $pass, $ap) = @_;
  12.     my $ssh = Net::SSH::Perl->new($ap);
  13.     $ssh->login($user, $pass);
  14.     $ssh->cmd('/log waring check;');
  15.     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;');
  16.     print "\n $stdout ___ $stderr ___ $etxit";
  17.         }
  18.  
  19. $user = "admin";
  20. $pass = "1111";
  21. my @ip = (2..78);
  22. foreach my $i (@ip){
  23.  
  24. $score = 0;
  25.  
  26. $ap = "192.168.81.$i";
  27.  
  28. $result = ping($ap);
  29.  
  30. #print "$result \n";
  31.  
  32.  
  33. #Check results
  34. START:
  35. if ($result =~ /(\d+).\d+\%/){
  36.     $loss = $1;
  37.     print "\n$i - $loss\n";
  38.     if ($loss == 100){
  39.     $score = 4;
  40.         }
  41.     }
  42.  
  43. $date = localtime(time);
  44. if ($score > 3){
  45.     open (LOG, '>>/var/log/bat_reconfig.log');
  46.     print LOG "$date WARNING! $ap UNREACHABLE\n";
  47.     close (LOG);
  48.     }
  49. else{
  50.     open LOG, '>>/var/log/bat_reconfig.log';
  51.     print LOG "$date OK! $ap executing script \n";
  52.     close (LOG);
  53.     ssh($user,$pass,$ap);
  54. #    sleep (1);
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement