每当–Cron不工作? 没有权限
“我已经和我们一起建立了一个cron,但它不起作用。 我试图手动运行该命令,我得到错误/bin/bash: bin/rails: Permission denied
。
这里的cron命令是什么样的:
/bin/bash -l -c 'cd /var/www/domain.net/main && bin/rails runner -e production '\''User.weekly_update'\'''
我也尝试以root
身份运行此命令,但我得到了相同的消息。
尝试使bin / rails可执行:
chmod u+x bin/rails
当然,这是假设bin / rails由crontab的用户拥有。
我发现使用RVM会使这变得复杂。 一个有价值的选择是让你的每个工作成为一个rake
工作,而不是一个runner
工作:
every 7.days do rake "user:weekly_update" end
当然,这需要在lib / tasks目录中添加额外的代码:
namespace :user do task :weekly_update=> :environment do User.weekly_update end end
我有同样的问题,解决了这个问题如下:
(我使用rvm和我的* / bin / rails已经有+ rx权限)
正如您在whatever -github中看到的那样,您可以在config / schedule.rb中更改job_type
job_type :runner, "cd :path && /other-path/path-x/bin/rails runner -e :environment ':task' :output"