每当–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"