【发布时间】:2015-09-11 23:58:48
【问题描述】:
我想在 Ruby 中使用 net/ssh gem 在多台服务器上运行命令。 所有主机名都保存在一个文件中,我从保存的文件中一一读取主机名,并希望使用 NEXEC 执行命令。
例如:对于单个主机,我运行了这个命令
$NEXEC="/data/bladelogic-7.3/bin/nexec"
$INSTANCE=`#{$NEXEC} hostname ls -ltr mypath`
如何使用 NEXEC 处理多个主机名
下面是我的代码:
require 'rubygems'
require 'net/ssh'
require 'net/ssh/multi'
puts "Enter the username"
@username=gets.chomp
File.open("path for multiple host file names","r") do |s|
s.each_line do |line|
Net::SSH.start(line.chomp,@username) do |ssh|
result=ssh.exec!("ls -ltr")
result1=`#{$NEXEC} line ls -ltr`
puts result
end
end
end
错误:
访问主机行时出错:远程主机未知
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 rubygems server