Bash脚本适用于使用sh -x手动运行,但不适用于crontab

时间:2016-12-10 20:02:53

标签: shell

Bash脚本适用于使用sh -x手动运行,但不适用于crontab。我在crontab中使用了正确的命令行。使用sh -x script.sh运行时,它提供了正确的输出,但是当脚本放在crontab中时,它没有显示输出。请帮忙。该脚本已在下面提供:

. $HOME/.profile
DIR=$HOME/scripts
export DIR
HOST=`hostname`
export HOST
mail=`cat $DIR/sample.lst`
$ORACLE_HOME/bin/sqlplus -s "/ as system" << EOF
set feedback off;
set lines 1000;
set head off;
spool $DIR/sample.lst;
@$DIR/sample.sql;
spool off;
EOF
a=`ls -l $DIR/sample.lst | awk '{print $1}'`
if [ $a -ne 0 ]
then
sh $DIR/sample_1.sh
 mailx -s "$HOST :$ORACLE_SID : The output is " $mail < $DIR/sample.txt
fi

2 个答案:

答案 0 :(得分:1)

希望这会有所帮助。

chmod 755 [SCRIPT.sh]

答案 1 :(得分:1)

你可以在你的crontab中尝试这个吗?

让我们说你想每天早上0700HRS运行脚本。

00 07 * * * bash ; cd $HOME/scripts ; ./script.sh 1>out_script 2>&1

希望这就是你要找的东西。