1
0

backupcfg.pl 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/perl
  2. #
  3. # Copyright (C) Roman Dmitiriev, rnd@rajven.ru
  4. #
  5. use utf8;
  6. use open ":encoding(utf8)";
  7. use English;
  8. use base;
  9. use FindBin '$Bin';
  10. use lib "/opt/Eye/scripts";
  11. use strict;
  12. use Time::Local;
  13. use FileHandle;
  14. use Data::Dumper;
  15. use eyelib::config;
  16. use eyelib::main;
  17. use eyelib::database;
  18. use eyelib::common;
  19. use eyelib::net_utils;
  20. use eyelib::cmd;
  21. use Fcntl qw(:flock);
  22. open(SELF,"<",$0) or die "Cannot open $0 - $!";
  23. flock(SELF, LOCK_EX|LOCK_NB) or exit 1;
  24. $|=1;
  25. my $debug = 1;
  26. if ($ARGV[0]) {
  27. my $device=get_record_sql($dbh,'SELECT * FROM devices WHERE id='.$ARGV[0]);
  28. $device = netdev_set_auth($device);
  29. print "Backup switch $device->{device_name} ip: $device->{ip} ...";
  30. netdev_backup($device,$tftp_server);
  31. print " end.\n";
  32. } else {
  33. my @devices=get_records_sql($dbh,'SELECT * FROM devices WHERE deleted=0 and (vendor_id=3 or vendor_id=8 or vendor_id=9)');
  34. foreach my $device (@devices) {
  35. $device = netdev_set_auth($device);
  36. print "Backup switch $device->{device_name} ip: $device->{ip} ...";
  37. netdev_backup($device,$tftp_server);
  38. print " end.\n";
  39. }
  40. }
  41. exit 0;