0

KSHスクリプトがあります。

を使用して手動で実行すると、正常に動作し./scriptname.kshます。

しかし、crontab ジョブをセットアップすると、AQL が見つからないというエラーが発生します。(AQL は SQL に似ていますが、違いはありません)。

これが私のスクリプトコードです。

#!/usr/bin/ksh

AQL << EOF
select count(*) from <tableT>;
exit

ここに crontab -e があります

12 13 * * * /usr/users/somedir/dir3/dir4/scriptname.ksh > /usr/users/somedir/dir3/dir4/testz.txt 2>&1

crontab が実行され、testz.txt に出力される内容は次のとおりです。

/usr/users/somedir/dir3/dir4/scriptname.ksh: line 9: AQL: not found
4

1 に答える 1

3

AQL は、スクリプトが実行される環境の PATH に含まれていない可能性があります。AQL への完全修飾パスを使用してみてください (例: /full/path/to/AQL)。一般に、この理由とセキュリティのために、スクリプトで完全修飾パスを指定することをお勧めします。

于 2014-03-12T18:36:04.893 に答える