tha*_*guy 2 ruby cron ruby-on-rails rvm
我正忙着用cron和RVM执行脚本/跑步者.我相信问题在于rvm环境没有在跑步者执行之前设置.
目前我正在抛出错误/ bin/sh:1.sql:命令找不到比我早先得到的更多,所以我想这很好.
我已经读过这个帖子需要在每个cron作业之前设置rvm环境, 但我还是没有真正得到它.我认为部分问题是错误报告.
到目前为止,这是我的跑步者.
*/1 * * * * * /bin/bash -l -c 'rvm use 1.8.7-p352@2310; cd development/app/my_app2310 && script/runner -e development "Mailer.find_customer"'
Run Code Online (Sandbox Code Playgroud)
根据上面的链接,我试着制作一个rvm_cron_runner.
我创建了一个文件并将其放入其中:
#!/bin/sh
source "/Users/dude/.rvm/scripts/rvm"
exec $1
Run Code Online (Sandbox Code Playgroud)
然后我将我的crontab更新为此.
*/1 * * * * * /bin/bash -l -c '/Users/dude/development/app/my_app2310/rvm_cron_runner; rvm use 1.8.7-p352@2310; cd development/app/my_app2310 && script/runner -e development "Mailer.find_customer"'
Run Code Online (Sandbox Code Playgroud)
这也没有区别.我没有错.没有.
谁能看到我做错了什么?
PS我希望我的代码格式化工作.
您可以尝试将要运行的代码放在单独的脚本中,然后使用rvm_cron_runner?
因此,请将您的操作放在名为的文件中 /path/cron_job
rvm use 1.8.7-p352@2310
cd development/app/my_app2310 && script/runner -e development "Mailer.find_customer"
Run Code Online (Sandbox Code Playgroud)
然后在你的crontab中写
1 2 * * * /path/rvm_cron_runner /path/cron_job
Run Code Online (Sandbox Code Playgroud)
差异:
rvm_cron_runner如果你想使用一个.rvmrc文件rvm use ...,我想你甚至可以放弃这一行.