Выполнение сценария с помощью crontab возвращает код ошибки 127.
Вопрос
Я вручную запускаю сценарий в своей системе UNIX, он работает успешно и обновляет необходимые записи в базе данных ORACLE.Однако, когда я запускаю тот же сценарий с помощью crontab, мой процесс завершается с кодом ошибки 127.
Проанализировав дальше, я понял, что в этих утверждениях есть некоторая проблема.
Logfile = sachin oralogin = abc/abc@abcd
cmd='sqlplus ${ORALOGIN} <SQLS >> ${SVC_HOME}/LOGFILES/${LOGFILE}.date +%Y-%m-%d
';
оценка $cmd
Пожалуйста, предложите решение
Решение
Ты уверен, что ${ORALOGIN}
и ${LOGFILE}
действительны ли переменные ENV, когда cron выполняет скрипт?
Иногда сценарии, которые работают для пользователей, не работают для cron, потому что при выполнении cron не используются все переменные ENV, которые есть у пользователей.
Другие советы
В интерактивной среде сделайте
Env | Греп Оракул
Я давно не использовал sqlplus, но помню, что для его работы требовались некоторые переменные среды (ORACLE_HOME?), и я подозреваю, что в вашей среде заданий cron они не установлены.