
私は説明した方法を採用しようとしていますここ。
私の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
私の Ruby プログラム:
doit = true
while doit
File.open('/home/qe2user/Ruby/test/test.txt','a') {|f| f.write(Time.now.to_s + "\n")}
doit = false
end
crondebug.log の出力:
/bin/sh: /home/qe2user/.rvm/environments/ruby-1.9.3-p125: Permission denied
「chmod u+x prog.rb」を発行し、再度再起動しましたが、結果は同じでした。
prog.rb は、コマンドラインから実行するとファイルに書き込みます。
ご協力いただければ幸いです。
答え1
実行しているファイルは であり/home/qe2user/.rvm/environments/ruby-1.9.3-p125
、 ではありません/home/qe2user/Ruby/test/prog.rb
。
したがって、最初のものを実行可能にする必要があります。
chmod u+x /home/qe2user/.rvm/environments/ruby-1.9.3-p125
もちろん、これはruby-1.9.3-p125
crontab のユーザーが所有していることを前提としています。