Почему мой crontab не работает?

Почему мой crontab не работает?

У меня есть этот cron

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

У меня этот cron находится под другим пользователем, поэтому я переключаю пользователей для развертывания

sudo su deploy
crontab -e

и я вижу свой cron, затем я просматриваю журнал под пользователем root

tail -n300 -f /var/log/syslog

и я вижу свой 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)

Но cron либо не запущен, либо возникла проблема с правами доступа... Когда я запускаю задачу в консоли, она работает отлично, но не в cron... есть идеи, что я упускаю?

это Ubuntu 12.04 LTS

Может быть, я смогу зарегистрировать более подробный список где-нибудь, чтобы увидеть ошибки.

решение1

CRON доставляет вывод приложений (stdout, stderr) через локальную почту. В Ubuntu, по всей видимости, в настоящее время по умолчанию не установлен MTA (Mail Transfer Agent). CRON выводит уведомление в системный файл журнала всякий раз, когда доставка не удалась:

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

Вы можете установить MTA, например, postfix, только для внутреннего (локального) использования, например

aptitude install postfix

Во время установки вам будет предложено выбрать конфигурацию по умолчанию. Вам следует выбрать конфигурацию Local only.

После этого вы можете найти вывод приложений, запущенных CRON, используя

tail -f /var/mail/<your_username>

Конечно, вы также можете записать вывод журнала в специальный файл журнала или перенаправить вывод в файл, используя встроенную функциональность оболочки...

Связанный контент