0
我有以下代码尝试连接到各种主机并移动数据。问题是如果一个连接尝试失败,那么代码就会死掉。我怎样才能让它移动到阵列中的下一个主机。如果出现故障,则接下来的环路
h=%w"host1 host2 host3 host4"
h.each do |hostname|
tn = Net::Telnet::new("Host" => "#{hostname}",
"Timeout" => false,
"Prompt" => /[$%#>] \z/n)
tn.cmd('String' =>'user' , 'Match'=>/Password:/) { |c| puts c }
tn.cmd('String' =>'password', 'Match'=>/#/) { |c| puts c }
tn.cmd('String' =>"show run | redirect tftp://192.1.1.1/#{hostname}-#{tdate}.cfg", 'Match'=>/#/) { |c| puts c }
sleep(3)
end
谢谢,我认为这会采取try catch块(以ruby开头),但确定如何使用rescue语句。工作得很好! – rahrahruby 2012-01-03 18:09:45