Joh*_*hir 17 ruby bash cron sh whenever
我的红宝石在/ usr/local/bin中.无论何时找不到它,并且在我的cron文件顶部设置PATH也不起作用,我认为因为无论何时在新的bash实例中运行命令.
# this does not work PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin # Begin Whenever generated tasks for: foo 0 * * * * /bin/bash -l -c 'cd /srv/foo/releases/20110429110637 && script/rails runner -e production '\''ActiveRecord::SessionStore::Session.destroy_recent(15)'\''' # End Whenever generated tasks for: foo
我怎么能告诉我的ruby二进制文件在哪里?从/ usr/bin创建一个符号链接对我来说似乎很混乱,但我想这可能是唯一的选择.
这个问题提供了env :PATH, "..."在schedule.rb作为一个解决方案,但(一)我无法找到该功能的任何文档中的文档(二)它似乎并没有已经解决了提问者的问题,任何地方(不幸的是它需要不平凡转机时间让我试试吧).
实际更新它在这个页面的底部,我现在就试试吧.
更多信息
bash -l,/ usr/bin/env发现ruby就好了所以,这很神秘......
Joh*_*hir 26
解决方案是将其放入schedule.rb:
env :PATH, ENV['PATH']
Run Code Online (Sandbox Code Playgroud)