6

'Ich habe mit wonenever einen Cron eingerichtet, aber es funktioniert nicht. Ich habe versucht, den Befehl manuell auszuführen, und ich erhalte den Fehler /bin/bash: bin/rails: Permission denied.Wann immer - Cron nicht funktioniert? Berechtigung verweigert

Hier ist, was der Befehl des cron wie folgt aussieht:

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

ich diesen Befehl auch als root laufen versucht, aber ich bekam die gleiche Meldung.

Antwort

6

Versuchen Sie, ist/Schienen ausführbar zu machen:

chmod u+x bin/rails 

Dies ist natürlich, dass ist unter der Annahme/Schienen durch den Benutzer crontab gehört.

+0

Das war die Lösung>.

2

Ich fand, dass die Verwendung von RVM dies komplizieren kann. Eine würdige Alternative ist Ihr, wenn Job in einen rake Job anstelle eines runner Job zu machen:

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

Das setzt natürlich erfordern ein zusätzliches Stück Code in Ihre lib/Aufgaben Verzeichnis:

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

hatte ich das gleiche Problem und löste dies wie folgt:

(iam Arbeit mit rvm und meinen */ist/Schienen bereits + hat rx Privilegien)

Wie Sie in whenever-github sehen können, können Sie Job_Typ innerhalb Config/Schedule.RB