cronjob no ejecutado

Tengo un problema al ejecutar un cronjob. No tengo experiencia con eso, así que probablemente esté supervisando algo novato. El siguiente script funciona de maravilla (todos los filtros antiguos se eliminan de la base de datos) cuando se ejecuta desde el shell:

dude@linux:~> /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb 

Hice el script ejecutable con chmod. Ahora quiero que esto se ejecute regularmente usando un cronjob:

dude@linux:~> crontab -e

Este archivo estaba vacío, y puse esto en una sola línea:

* * * * * /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb 

Espero que el script se ejecute cada minuto, pero no pasa nada. En /etc/cron.deny, solo se menciona 'invitado' y /etc/allow no existe. Reiniciar mi sistema tampoco ayudó.

El crontab parece estar actualizado correctamente:

dude@linux:~> crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.f9Et2M installed on Thu May  3 14:04:47 2012)
# (Cronie version 4.2)
* * * * * /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb

Pero esperaba aquí un poco también:

dude@linux:~> atq
dude@linux:~>

El cronjob hace algo. Cada minuto se agrega una entrada a /var/log/cron.log:

2012-05-03T15:27:01+02:00 linux /USR/SBIN/CRON[5276]: (dude) CMD (/usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb)

El problema es que el trabajo no se ejecuta. Debería eliminar algunos registros de la base de datos, pero no lo hace. Ejecutar el mismo script manualmente hace el truco.

¿Alguien vio la cosa (quizás trivial) que me perdí?

preguntado el 03 de mayo de 12 a las 13:05

¿Cuál es tu problema exactamente? ¿Que no se realiza la operación o que no se ve en pantalla? Dado que las operaciones de crontab se ejecutan en segundo plano. -

Gracias por tu respuesta y disculpa la falta de claridad. He editado la pregunta (el problema es que no se realiza, no hace falta verlo en pantalla). -

¿Has revisado los registros de cron? primero debe activarlo (por ejemplo, con debian: happy-coding.com/enable-crontab-logging-in-debian-linux) -

@Daniel Gracias, esto me llevó un paso más allá. No tenía el inicio de sesión, pero lo tengo ahora. Algo sucede, pero no cambia mi base de datos. Agregué el registro a mi pregunta. -

1 Respuestas

Quizás esto ayude, usando los corchetes.

* * * * * ( comandos separados por dos puntos para ejecutar )

Revisalo.

contestado el 11 de mayo de 12 a las 05:05

Gracias. Lo intenté, pero no ayudó. Ahora hay dos pares de corchetes, por lo que parece que ya se agregan corchetes automáticamente. - Jos

Todo lo demás parece estar bien. Analice la ejecución que está realizando, es decir, asegúrese de que los datos que se van a eliminar estén presentes. O escriba un archivo trivial en el archivo Ruby para asegurarse de que el proceso esté ejecutando la llamada. - mkk

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.