Почему моя работа cron, кажется, ничего не делает?

Я написал отличный скрипт для проверки сервиса и отправки электронной почты, если он обнаружил проблему. Работает нормально из командной строки. Я изо всех сил пытался заставить это работать должным образом от cron.

Это мой текущий (отредактированный) crontab:

MAILTO=myid@myhost.com
BASH_ENV=$HOME/.bashrc
0,5,10,15,20,25,30,35,40,45,50,55 * * * *   . $HOME/.bashrc;$HOME/bin/monitorDataSourceStatus.groovy >> $HOME/mDSS.out 2>&1

Я не думаю, что cron Ubuntu использует переменную "BASH_ENV", но я видел, что упоминалось в других ссылках "cron", поэтому я думал, что попробую. MAILTO также, вероятно, игнорируется, так как у меня не установлен MTA.

Я знаю, что базовая операция cron в порядке, потому что я получаю запись системного журнала каждые пять минут, поскольку это указывает. Последний выглядит так:

Oct  2 09:30:01 hostname CRON[20268]: (myid) CMD (. $HOME/.bashrc;$HOME/bin/monitorDataSourceStatus.groovy >> $HOME/mDSS.out 2>&1)
Oct  2 09:30:01 hostname CRON[20267]: (CRON) info (No MTA installed, discarding output)
Oct  2 09:30:10 hostname crontab[20275]: (myid) LIST (myid)

Однако по ожидаемым побочным эффектам я могу сказать, что не похоже, что скрипт выполняется. Я включил некоторые операторы печати в сценарий, но файл "mDSS.out" не изменялся уже несколько дней.

Я не знаю, практично ли устанавливать MTA. Я предполагаю, что это агент пересылки почты.

0
задан 2 October 2013 в 20:35

2 ответа

Сообщение MTA вызвано тем, что ваш скрипт выдает выходные данные, для которых cron обычно отправляет электронное письмо.

Замените задание cron следующим:

MAILTO=myid@myhost.com
BASH_ENV=$HOME/.bashrc
0,5,10,15,20,25,30,35,40,45,50,55 * * * *   . $HOME/.bashrc;$HOME/bin/monitorDataSourceStatus.groovy > $HOME/mDSS.out 2>&1

Вам потребуется установить MTA, подобный sendmail, чтобы получать сообщения cron. (Я изменил >> на>).

0
ответ дан 2 October 2013 в 20:35

Установка ssmtp помогла. После того, как я смог увидеть вывод, я обнаружил, что мой файл .bashrc / .bash_profile был неправильно настроен, поэтому в выходном файле задания ничего не отображалось. Мне удалось это исправить, и теперь моя работа работает нормально.

0
ответ дан 2 October 2013 в 20:35

Другие вопросы по тегам:

Похожие вопросы: