L'exécution d'un script avec crontab renvoie 127 code d'erreur
Question
J'exécute manuellement un script sur mon système UNIX. Il s'exécute correctement et met à jour les enregistrements requis dans la base de données ORACLE. Cependant, quand j’exécute le même script avec crontab, mon processus se termine avec le code d’erreur 127.
En analysant plus en détail, j’ai eu quelques problèmes dans ces déclarations.
LOGFILE = sachin ORALOGIN = abc / abc @ abcd
cmd = 'sqlplus $ {ORALOGIN} < SQLS & Gt; & Gt; $ {SVC_HOME} / LOGFILES / $ {LOGFILE}. date +%Y-%m-%d
';
eval $ cmd
Veuillez suggérer une solution
La solution
Êtes-vous sûr que ${ORALOGIN}
et ${LOGFILE}
sont des variables ENV valides lorsque cron exécute le script?
Parfois, les scripts qui fonctionnent pour les utilisateurs ne fonctionnent pas pour cron car les exécutions de cron ne contiennent pas toutes les variables ENV des utilisateurs.
Autres conseils
Dans l'environnement interactif, faites
env | grep ORACLE
Cela fait longtemps que je n’utilise pas sqlplus, mais je me souviens que certaines variables d’environnement étaient nécessaires pour fonctionner (ORACLE_HOME?) et je soupçonne que votre environnement de travail cron n’a pas été défini.