Executar um script com crontab retorna código de erro 127
Pergunta
Estou executando um script manualmente no meu sistema UNIX manualmente, ele é executado com êxito e atualizados registros necessários no banco de dados ORACLE. Como sempre quando eu exwcute o mesmo script com crontab meus processos saídas com o código de erro 127.
Ao analisar ainda mais, eu tenho há algum problema nessas declarações.
LOGFILE = sachin ORALOGIN = abc / abc @ abcd
cmd = 'sqlplus $ {ORALOGIN} > $ {SVC_HOME} / LOGFILES / $ {LOGFILE} .date +%Y-%m-%d
';
date +%Y-%m-%d
'; eval $ cmd
Por favor sugerir uma solução
Solução
Você tem certeza que ${ORALOGIN}
e ${LOGFILE}
são variáveis ??ENV válidos quando cron executa o script?
Às vezes scripts que trabalho para os usuários não fazer o trabalho para cron, pois as execuções do cron não tem todas as variáveis ??de ambiente que os usuários têm.
Outras dicas
No ambiente interativo fazer
env | grep ORACLE
Há muito tempo desde que eu usei sqlplus, mas me lembro que exigia algumas variáveis ??de ambiente para a função (ORACLE_HOME?) E eu estou suspeitando seu ambiente de trabalho cron não tem este conjunto.