¿Por qué mi crontab no se ejecuta?

¿Por qué mi crontab no se ejecuta?

tengo este cron

38 * * * * /bin/bash -l -c 'cd /var/rails/site/releases/20120705144335 && script/rails runner -e qa '\''Play.load_lists'\'''

Tengo este cron bajo un usuario diferente, así que cambio de usuario para implementar

sudo su deploy
crontab -e

y veo mi cron, luego sigo el registro debajo del usuario root

tail -n300 -f /var/log/syslog

y veo mi cron

Jul  5 11:38:01 ip-10-70-75-234 CRON[4971]: (deploy) CMD (/bin/bash -l -c 'cd /var/rails/site/releases/20120705144335 && script/rails runner -e qa '\''Play.load_lists'\''')
Jul  5 11:38:01 ip-10-70-75-234 CRON[4970]: (CRON) info (No MTA installed, discarding output)

Pero el cron no se está ejecutando o hay un problema de permisos... Cuando ejecuto la tarea en la consola funciona muy bien, pero no en el cron... ¿alguna idea de lo que me estoy perdiendo?

este es Ubuntu 12.04LTS

Tal vez pueda registrar una lista más detallada en algún lugar para ver los errores.

Respuesta1

CRON entrega la salida de las aplicaciones (stdout, stderr) a través del correo local. Aparentemente, Ubuntu no tiene un MTA (Agente de transferencia de correo) instalado de forma predeterminada en estos días. CRON imprime una notificación en el archivo de registro del sistema cada vez que falla una entrega:

Jul  5 11:38:01 ip-10-70-75-234 CRON[4970]: (CRON) info (No MTA installed, discarding output)

Puede instalar un MTA, por ejemplo, postfix, solo para uso interno (local), por ejemplo

aptitude install postfix

Durante la instalación se le preguntará qué configuración predeterminada utilizar. Debes seleccionar la Local onlyconfiguración.

A partir de entonces puede encontrar el resultado de las aplicaciones ejecutadas por CRON usando

tail -f /var/mail/<your_username>

Por supuesto, también puede escribir la salida del registro en un archivo de registro dedicado o canalizar/redireccionar la salida a un archivo utilizando la funcionalidad de shell incorporada...

información relacionada