Задание, запланированное с помощью Cron, не выполняется - PullRequest
0 голосов
/ 21 декабря 2011

Я запланировал выполнение сценария job.sh, который содержит следующие команды:

date +"%D %r `echo Kitchen - job started`" >> /tmp/cron_job_1.log
sh /installations/data-integration/kitchen.sh -file /installations/etl/sync_job.kjb >> /tmp/cron_job_1.log
date +"%D %r `echo Kitchen - job completed`" >> /tmp/cron_job_1.log

Запись Crontab:

0,3,4,5,6,8,10,11 * * * * sh /installations/etl_scripts/job.sh

'Работа запущена' и 'работа завершенаотметки времени всегда успешно записываются в cron_job_1.log, это доказательство того, что запланированное задание выполняется вовремя.Но кажется, что команда преобразования Pentaho (../kitchen.sh) не выполняется, потому что преобразование не выполняется и ничего не записывается в файл журнала.Время между «заданием запущено» и «заданием завершено» составляет 1 или 2 секунды, но задание преобразования должно выполняться не менее 10 секунд.

Когда я запускаю команду sh /installations/data-integration/kitchen.sh -file /installations/etl/sync_job.kjb >> /tmp/cron_job_1.log независимо от консоли, задание преобразования работает как ожидалось и записываетк журналу.

Все пути и права доступа к соответствующим файлам кажутся правильными.

Есть предложения?

1 Ответ

2 голосов
/ 21 декабря 2011

Согласно crontab FAQ : cron устанавливает только разреженную среду, поэтому переменные среды недоступны в скрипте cron.Вы должны установить переменные окружения в вашем скрипте job.sh.

...