Ejecutar una secuencia de comandos con el comando crontab devuelve 127 código de error
Pregunta
Yo soy la ejecución de un script manualmente en mi sistema UNIX de forma manual, se ejecuta con éxito y actualizado los registros exigidos en la base de datos de ORACLE.Cómo siempre, cuando me exwcute la misma secuencia de comandos con el comando crontab mi proceso de las salidas con el código de error 127.
En el análisis de más, tengo que existe algún problema en estas declaraciones.
LOGFILE=sachin ORALOGIN=abc/abc@abcd
cmd='sqlplus ${ORALOGIN} < SQL >> ${SVC_HOME}/LOG/${ARCHIVO DE REGISTRO}.date +%Y-%m-%d
';
eval $cmd
Por favor, sugiera una solución
Solución
¿Estás seguro de que ${ORALOGIN}
y ${LOGFILE}
son válidos ENV variables cuando cron se ejecuta la secuencia de comandos?
A veces los scripts que funcionan para los usuarios que no trabajan para cron porque cron ejecuciones no tienen todo el ENV variables que tienen los usuarios.
Otros consejos
En el entorno interactivo hacer
env | grep ORACLE
Hace mucho tiempo que no uso sqlplus, pero recuerdo que requería algunas variables de entorno para funcionar (¿ORACLE_HOME?) y sospecho que su entorno de trabajo cron no tiene estos configurados.