命令在JUSTHOST上运行RUBY cron作业

时间:2016-01-31 19:11:34

标签: ruby cron

我的Cron设置是:

0 * * * * ruby /directory/to/ruby/file.rb

我收到了这个错误:

/usr/lib64/ruby/1.9.3/rubygems/custom_require.rb:36:in `require': cannot load such file -- mechanize (LoadError)
from /usr/lib64/ruby/1.9.3/rubygems/custom_require.rb:36:in `require'
from /home4/ofixcom1/rails_apps/products.rb:3:in `<main>'

当我在SSH上运行该脚本时,它运行没有问题,但是当我在cron设置它时,它给了我这个错误。我已经阅读了很多解决方案。即使使用RVM,我几乎都尝试过它们。 以前的一个带有红宝石的cron运行得很顺利我不知道它为什么不能和我一起工作。

我忘了提及,在JustHost的帮助下,他们将此链接与其他代码的示例相关联: Cron Setup

2 个答案:

答案 0 :(得分:0)

rvm有一个page致力于使用cron的RVM包装器。基本上,你可以

  • 直接调用$rvm_path/wrappers/<ruby-version>[@gemset-name];
  • 中的包装器
  • 使用rvm&#39;别名包装
  • rvm
  • 调用的shell脚本中加载cron环境

答案 1 :(得分:0)

在cron命令行上输入:

bash -l -c '/home4/USER/public_html/code.rb'

在code.rb文件的顶部添加:

#!/usr/local/bin/ruby

并打开并编辑.bashcr只是为了确保包含gems目录。

export HPATH=$HOME
export GEM_HOME=$HPATH/ruby/gems
export GEM_PATH=$GEM_HOME:/lib64/ruby/gems/1.9.3
export GEM_CACHE=$GEM_HOME/cache
export PATH=$PATH:$HPATH/ruby/gems/bin
export PATH=$PATH:$HPATH/ruby/gems

特别感谢乔丹,他给了我这个问题的答案。

注意:执行完整的justhost wipeout时。并插入whereis ruby​​命令我不得不改变

 #!/usr/local/bin/ruby 

#!/usr/bin/ruby