2012-04-11 8 views
2

私は手動でうまく動作しますが、cronジョブを実行するときには希望の出力を得られないスクリプトがあります。スクリプトに間違いがある場合は教えてください。 Admin's ChoiceからCronjobスクリプトは失敗しますが手動で正常に実行されます

#!/usr/bin/ksh 

file1=$(find *-* -mtime 1) 

file2=$(find *-* -mtime 2) 


basefile1=$(basename $file1) 
basefile2=$(basename $file2) 


cd /gtxappl/Release/SCMAudit 

./cmp.sh $basefile1 $basefile2 > dailyAuditChecks.txt 

mailx -s "Daily Checks Report" ****@homeretailgroup.com < dailyAuditChecks.txt 

答えて

4

 
5. Crontab Environment 
cron invokes the command from the user’s HOME directory with the shell, (/usr/bin/sh). 
cron supplies a default environment for every shell, defining: 
HOME=user’s-home-directory 
LOGNAME=user’s-login-id 
PATH=/usr/bin:/usr/sbin:. 
SHELL=/usr/bin/sh 
Users who desire to have their .profile executed must explicitly do so in the crontab entry or in a script called by the entry. 

私は可能な限り絶対パスを使用することをお勧めし、環境変数が必要な場合は、.profileファイルを実行を忘れないでください。

+0

不明な点がある場合は、printenvコマンドをスクリプトに追加して、環境が実際にどのように見えるかを調べます。 –

関連する問題