1
0

backupcfg.pl 1.0 KB

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