Whenever - Cron not working? Permission denied

自作多情 提交于 2019-11-30 04:57:55

问题


'I have set up a cron with wehenever, but its not working. I tried to run the command manually and i get the error /bin/bash: bin/rails: Permission denied.

Here what the command of the cron looks like:

/bin/bash -l -c 'cd /var/www/domain.net/main && bin/rails runner -e production '\''User.weekly_update'\'''

I also tried to run this command as root but i got the same message.


回答1:


Try to make bin/rails executable:

chmod u+x bin/rails

This is, of course, assuming that bin/rails is owned by the crontab's user.




回答2:


I found that use of RVM can complicate this. A worthy alternative is to make your whenever job into a rake job instead of a runner job:

every 7.days do
  rake "user:weekly_update"
end

This does, of course, necessitate an extra bit of code in your lib/tasks directory:

namespace :user do
  task :weekly_update=> :environment do
    User.weekly_update
  end
end



回答3:


i had the same problem and solved this as follows:

(iam work with rvm and my */bin/rails has already +rx privileges)

As you can see in whenever-github you can change job_type within config/schedule.rb

job_type :runner,  "cd :path && /other-path/path-x/bin/rails runner -e :environment ':task' :output"


来源:https://stackoverflow.com/questions/19463908/whenever-cron-not-working-permission-denied

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!