6

'我用wehenever建立了一個cron,但它不工作。我試圖手動運行命令,並得到錯誤/bin/bash: bin/rails: Permission denied每當 - 克朗不工作? Permission denied

這裏什麼的cron的命令看起來像:

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

我也試圖爲root運行此命令,但我得到了同樣的信息。

回答

6

儘量使斌/導軌可執行:

chmod u+x bin/rails 

這是當然,假設斌/導軌是由crontab中的用戶所擁有。

+0

這就是解決方案>。<謝謝! –

2

我發現使用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 
0

我有同樣的問題,解決了這個如下:

(RVM與我* /斌/導軌IAM工作已經和RX權限)

正如你可以在whenever-github中看到的,你可以在config/schedule.rb中更改job_type

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