6

'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.

Philip Giuliani
  • 1,366
  • 3
  • 20
  • 37

3 Answers3

6

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.

Alexander Kobelev
  • 1,379
  • 8
  • 14
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
JellicleCat
  • 28,480
  • 24
  • 109
  • 162
0

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"
stephanfriedrich
  • 563
  • 5
  • 20