目前我有这个用于在远程服务器上运行脚本:
require 'rubygems'
require 'net/ssh'
require 'optparse'
USER = 'user1'
PASS = 'happy123'
HOST = 'server1'
Net::SSH.start( HOST, USER, :password => PASS ) do|ssh|
results = ssh.exec!("/user/blah.sh arg1 blah")
puts results
end
这很好用,但要求我需要运行的脚本在本地服务器上。我试图找到一种方法来对远程服务器执行本地脚本。使用ssh我可以这样做:
ssh user1@server1 -s 'bash -s' < blah.sh
我只是不知道如何使用ssh.exec将我的脚本重定向到我的bash命令。救命? 另外,我真的需要像下面这样做:
ssh user1@server1 -s 'bash -s' -- < check_mountpoints.sh -a /etc/fstab