Rails应用程序在远程计算机上运行命令

时间:2012-07-24 17:03:22

标签: ruby-on-rails ruby ssh command capistrano

我有一个Ruby on Rails 3应用程序,我希望通过SSH访问来控制远程机器。

基本上我希望Rails应用程序能够通过SSH在远程计算机上编辑文件,复制文件,移动目录等。

我已经为我想要执行的功能创建了Capistrano任务,但我想知道:

  1. 从Rails
  2. 运行远程shell代码的最佳实践是什么?
  3. 如何从Rails应用程序调用Capistrano任务(基本上可以实现1)
  4. 谢谢!

1 个答案:

答案 0 :(得分:1)

对于#1,ruby有一个net-ssh库 - http://net-ssh.rubyforge.org/ - 包含你想要的功能。

对于#2,此问题的已接受答案包含从rails内部运行Capistrano任务的信息 - Is there a better way to run a capistrano task from within rake?

虽然文字说耙,但它也一般适用于红宝石。但应该注意的是,根据主机的配置方式,您可能会遇到Capistrano创建子shell以执行脚本的方式,因此您可能需要稍微解决这个问题或发布后续问题