
Ich versuche die beschriebene Methode anzuwendenHier.
Meine Crontab:
# m h dom mon dow command
@reboot /home/qe2user/.rvm/environments/ruby-1.9.3-p125 /home/qe2user/Ruby/test/prog.rb > /home/qe2user/Ruby/test/crondebug.log 2>&1
Mein Ruby-Programm:
doit = true
while doit
File.open('/home/qe2user/Ruby/test/test.txt','a') {|f| f.write(Time.now.to_s + "\n")}
doit = false
end
die Ausgabe in crondebug.log:
/bin/sh: /home/qe2user/.rvm/environments/ruby-1.9.3-p125: Permission denied
Ich habe „chmod u+x prog.rb“ eingegeben und dann erneut neu gestartet, aber das Ergebnis war das gleiche.
prog.rb, so wie es ist, schreibt in die Datei, wenn ich es einfach von der Befehlszeile aus ausführe.
Für jede Hilfe wäre ich sehr dankbar.
Antwort1
Die Datei, die Sie ausführen, ist /home/qe2user/.rvm/environments/ruby-1.9.3-p125
, nicht /home/qe2user/Ruby/test/prog.rb
.
Dazu müssen Sie die erste Datei ausführbar machen:
chmod u+x /home/qe2user/.rvm/environments/ruby-1.9.3-p125
Dies setzt natürlich voraus, dass es ruby-1.9.3-p125
dem Benutzer der Crontab gehört.