
Estou tentando empregar o método descritoaqui.
Meu 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
Meu programa 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
a saída em crondebug.log:
/bin/sh: /home/qe2user/.rvm/environments/ruby-1.9.3-p125: Permission denied
Eu emiti "chmod u+x prog.rb" e reiniciei novamente, mas obtive os mesmos resultados.
prog.rb, tal como está, grava no arquivo quando eu o executo na linha de comando.
Qualquer ajuda seria muito apreciada.
Responder1
O arquivo que você está executando é /home/qe2user/.rvm/environments/ruby-1.9.3-p125
, não /home/qe2user/Ruby/test/prog.rb
.
Portanto, você deve tornar o primeiro executável:
chmod u+x /home/qe2user/.rvm/environments/ruby-1.9.3-p125
Isto, é claro, assumindo que ruby-1.9.3-p125
pertence ao usuário do crontab.