Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use Net::SSH::Perl;
  5. use POSIX qw(strftime);
  6. use Sys::Syslog qw(:DEFAULT setlogsock);
  7.  
  8. # Variables à configurer
  9. my $user = "admin"; # Nom d'utilisateur
  10. my $pass = ""; # Mot de passe
  11. my $server = ""; # Serveur TFTP
  12. my @hosts = ("switch1","switch2"); # Liste des switch
  13.  
  14.  
  15. sub logit {
  16. my $programname;
  17. my ($priority, $msg) = @_;
  18. return 0 unless ($priority =~ /info|err|debug/);
  19.  
  20. setlogsock('unix');
  21. openlog($programname, 'pid,cons', 'local1');
  22. syslog($priority, $msg);
  23. closelog();
  24. return 1;
  25. }
  26.  
  27. BEGIN {
  28. logit('info', 'Cisco conf Backup Started');
  29. }
  30.  
  31.  
  32. my $now = strftime("%Y%m%d", localtime(time));
  33.  
  34. foreach my $host (@hosts) {
  35. my $ssh = Net::SSH::Perl->new($host);
  36. $ssh->login($user,$pass);
  37. eval {
  38. my ($stdout, $stderr, $exit) = $ssh->cmd('copy running-config tftp://'.$server.'/',"\n".$host."-".$now."-confg\n");
  39. if($exit!='0') { logit('err', $host.': Config not saved ',$stderr); } else { logit('info', $host.': Config saved'); }
  40. };
  41. ($@) ? ( logit('err', $@) ) : undef;
  42. }
  43.  
  44. END {
  45. logit('info', 'Cisco conf Backup Ended');
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement