Июн 07 2010

Доработанный скрипт бекапа конфигурации свитчей Edge-Core

Не так давно я написал скрипт бекапа конфигурации свитчей Edge-Core. Я его приводил в статье Скрипт бекапа свитчей EdgeCore. В этом скрипте есть один недостаток, в случае недоступности одного из свитчей, на работе с ним скрипт вылетит. И все остальные свитчи не будут забекаплены. Но поскольку я писал скрипт на Ruby, воспользуемся его средствами для обработки этой ситуации. Перехватим ошибку.
Доработанный скрипт выглядит так:

#!/usr/local/bin/ruby
require '/root/bin/telnet'
require 'date'
today=Date.today.to_s
file = File.new("/root/bin/switches.txt", "r")
while (line = file.gets)
        (name, ip, tftp, logins, pass)=line.split
        name="#{name}-#{today}.txt"
        begin
                tn = Net::Telnet::new("Host"=>ip, "Timeout"=>80, "Prompt"=> /Vty/ )
        rescue Exception => e
                puts "Switch #{name} unreach"
                next
        end
        tn.login(logins, pass) {|c| print c }
        tn.cmd("copy running-config tftp\n#{tftp}\n#{name}\n")  { |c| print c }
end
file.close

Этот скрипт забекапит все свитчи, и не вылетит в случае недоступности одного из них.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
  • By evil, 05.07.2010 @ 12:14

    а не подскажите как исправить такую ошибку?

    ES3510-0#C:/Ruby191/bin/telnet.rb:560:in `waitfor’: timed out while waiting for more data (Timeout::Error)
    from C:/Ruby191/bin/telnet.rb:695:in `cmd’
    from C:/Ruby191/bin/telnet.rb:740:in `login’
    from C:/Ruby191/bin/sw0.rb:10:in `’

  • By hilik, 05.07.2010 @ 12:23

    Скрипт не достучался к свитчу, точнее не дождался ответа.

  • By evil, 05.07.2010 @ 12:34

    он заходит на свич, т.е. логин ок, а дальше ниче не делает, а потом обрывается по тайм-ауту

  • By evil, 05.07.2010 @ 14:27

    в файле switches.txt такая запись должна быть? — имя свитча, ip свитча, ip tftp, логин и пасс свича?

  • By evil, 05.07.2010 @ 15:13

    да, патчил…

  • By hilik, 05.07.2010 @ 17:15

    А какое приглашение высвечивает ваш свитч?
    Там есть в директории со скриптом такой файл save_conf_dump.log, в него пишется дамп диалога. По нему можно определить чего не дожидается скрипт.

  • By evil, 05.07.2010 @ 20:48

    скрипт заходит в привелигилированый режим свитча, и как бы должно происходить копирование running-config, а ничего не происходит, и по тайм-ауту откл… save_conf_dump.log — нету, я запускаю все это дело под виндой, может в этом проблема?

  • By hilik, 05.07.2010 @ 21:43

    опыта запуска скрипта под виндой у меня нет. Ручное копирование на tftp работает?

  • By evil, 05.07.2010 @ 22:33

    да, вручную все норм., но вот девайсов оч. много, хотелось бы немного автоматизировать ((

Other Links to this Post


Украинская Баннерная Сеть