
Estoy intentando emplear el método descrito.aquí.
Mi 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
Mi programa rubí:
doit = true
while doit
File.open('/home/qe2user/Ruby/test/test.txt','a') {|f| f.write(Time.now.to_s + "\n")}
doit = false
end
la salida en crondebug.log:
/bin/sh: /home/qe2user/.rvm/environments/ruby-1.9.3-p125: Permission denied
Emití "chmod u+x prog.rb", luego reinicié nuevamente, pero obtuve los mismos resultados.
prog.rb, tal como está, escribe en el archivo cuando lo ejecuto desde la línea de comando.
Cualquier ayuda sería muy apreciada.
Respuesta1
El archivo que estás ejecutando /home/qe2user/.rvm/environments/ruby-1.9.3-p125
no es /home/qe2user/Ruby/test/prog.rb
.
Por lo tanto, debes hacer ejecutable el primero:
chmod u+x /home/qe2user/.rvm/environments/ruby-1.9.3-p125
Esto, por supuesto, suponiendo que ruby-1.9.3-p125
sea propiedad del usuario del crontab.