我正在寻找最简单的方法来方便地将其用于系统管理。
我检查了并行/ forkmanager,总体/并行等,但是似乎都不是那么容易掌握。
#!/usr/bin/ruby
servers = [ 'server1.example.com', 'server2.example.com', 'server3.example.com' ]
cmd = 'iostat 1 10'
servers.each do |server|
puts server
system("sshpass -f mypwfile ssh #{server} #{cmd}")
end
Run Code Online (Sandbox Code Playgroud)
提前致谢!
servers = [ 'server1.example.com', 'server2.example.com', 'server3.example.com' ]
cmd = 'iostat 1 10'
servers.map do |server|
Thread.new do
puts server
system("sshpass -f mypwfile ssh #{server} #{cmd}")
end
end.each(&:join)
Run Code Online (Sandbox Code Playgroud)
您需要调用join每个线程,否则当进程主线程存在时它们将被杀死。