0

UNIXシステムでスクリプトを手動で実行しています。スクリプトは正常に実行され、ORACLEデータベースの必要なレコードが更新されます。ただし、crontabを使用して同じスクリプトを実行すると、プロセスはエラーコード127で終了します。

さらに分析すると、これらのステートメントにいくつかの問題があることがわかりました。


LOGFILE = sachin ORALOGIN = abc / abc @ abcd

cmd ='sqlplus $ {ORALOGIN} <SQLS >> $ {SVC_HOME} / LOGFILES /${LOGFILE}。date +%Y-%m-%d';

eval $ cmd

解決策を提案してください

4

2 に答える 2

1

cronがスクリプトを実行するときに、有効なENV変数である${ORALOGIN}と確信していますか?${LOGFILE}

cronの実行には、ユーザーが持っているすべてのENV変数が含まれていないため、ユーザーに対して機能するスクリプトがcronに対して機能しない場合があります。

于 2009-11-27T08:53:41.327 に答える
0

インタラクティブな環境で

env | grep ORACLE

sqlplusを使用してから長い間ですが、機能するにはいくつかの環境変数(ORACLE_HOME?)が必要であり、cronジョブ環境にこれらが設定されていない可能性があります。

于 2009-11-27T09:17:09.513 に答える