Выполнение скрипта с помощью crontab возвращает 127 код ошибки - PullRequest
0 голосов
/ 27 ноября 2009

Я вручную выполняю скрипт в моей системе UNIX, он успешно выполняется и обновляет необходимые записи в базе данных ORACLE. Однако когда я выполняю тот же сценарий с помощью crontab, мой процесс завершается с кодом ошибки 127.

Анализируя дальше, я понял, что в этих утверждениях есть некоторая проблема.


LOGFILE = Сэчины ORALOGIN = а / а @ ABCD

cmd = 'sqlplus $ {ORALOGIN} > $ {SVC_HOME} / LOGFILES / $ {LOGFILE}. date +%Y-%m-%d';

eval $ cmd

Пожалуйста, предложите решение

Ответы [ 2 ]

1 голос
/ 27 ноября 2009

Вы уверены, что ${ORALOGIN} и ${LOGFILE} являются действительными переменными ENV, когда cron выполняет сценарий?

Иногда сценарии, которые работают для пользователей, не работают для cron, потому что выполнения cron не имеют всех переменных ENV, которые есть у пользователей.

0 голосов
/ 27 ноября 2009

В интерактивной среде сделать

env | grep ORACLE

Давно я использовал sqlplus, но я помню, что для работы требовались переменные окружения (ORACLE_HOME?), И я подозреваю, что в вашей рабочей среде cron их нет.

...