15 May 18:05
Re: ssh to execute remote ruby script
From: Chiyuan Zhang <pluskid <at> gmail.com>
Subject: Re: ssh to execute remote ruby script
Newsgroups: gmane.comp.lang.ruby.general
Date: 2008-05-15 16:05:07 GMT
Subject: Re: ssh to execute remote ruby script
Newsgroups: gmane.comp.lang.ruby.general
Date: 2008-05-15 16:05:07 GMT
Maybe some environment variables is not set properly when logged in as
non-interactive session? It seems interactive shell and non-interactive
ones do not run the same bunch of start up scripts. like ~/.profile,
~/.bashrc , etc.
On Thu, May 15, 2008 at 11:53 PM, Blake Miller <blakeage <at> hotmail.com> wrote:
> I'm using 'net/ssh' to ssh into a OS X server and run a ruby script,
> like this:
>
> Net::SSH.start( "xxx.xxx.xxx", :username => 'xxx', :password => 'xxx'
> ) do | session |
> shell = session.shell.open
> shell.exec "ruby /usr/local/pgsql/share/migrate.rb
> #{params['host']}"
> end
>
> The migrate.rb looks like this:
>
> require 'rubygems'
> ...some ruby code
>
> For some reason, the script fails to execute anything after the require
> 'rubygems' line. If I remove that line, the script will run, but
> obviously I cannot use any gems, which I need.
>
> If I ssh via terminal to the server, I can run the script fine with:
> ruby /usr/local/pgsql/share/migrate.rb 1
>
> I can't figure out why, when ssh'ing via the net/ssh package, the remote
> script cannot include rubygems.
>
> Any ideas?
> --
> Posted via http://www.ruby-forum.com/.
>
>
--
--
pluskid
RSS Feed