Ausführen eines Skripts mit crontab gibt 127 Fehlercode
Frage
Ich bin ein Skript manuell auf meinem UNIX-System ausgeführt wird manuell, es läuft erfolgreich und aktualisiert erforderlichen Aufzeichnungen in ORACLE-Datenbank. Wie auch immer, wenn ich das gleiche Skript mit crontab exwcute mein Prozess beendet mit dem Fehlercode 127.
Bei der Analyse weiter, ich habe es ein Problem in diesen Aussagen ist.
LOGFILE = sachin ORALOGIN = abc / abc @ abcd
cmd = 'sqlplus $ {ORALOGIN} > $ {SVC_HOME} / LOGFILES / $ {LOGFILE} .date +%Y-%m-%d
';
date +%Y-%m-%d
'; eval $ cmd
Bitte legen nahe, eine Lösung
Lösung
Sind Sie sicher, dass ${ORALOGIN}
und ${LOGFILE}
gelten ENV Variablen, wenn cron das Skript ausführt?
Manchmal Skripte, die für die Benutzer arbeiten für cron nicht funktionieren, weil cron Hinrichtungen haben nicht die alle ENV Variablen, die Benutzer haben.
Andere Tipps
In der interaktiven Umgebung tun
env | grep ORACLE
Lange Zeit, seit ich sqlplus benutzt habe, aber ich erinnere es einige Umgebungsvariablen erforderlich Funktion (ORACLE_HOME?) Und ich bin Ihre Cron-Job Umwelt Verdacht nicht über diese gesetzt.