我的cron作业失败,但是脚本执行正常。有人可以帮忙吗?

时间:2019-12-16 07:06:32

标签: shell cron

我的以下脚本在手动运行时可以完美执行,但是在cron作业中失败并出现以下错误:

Item_Loc_Soh_Snapshot batch failed.

有人可以在这里帮助我吗?

#!/bin/ksh
# Script variables
programName=$0
date=`date +"%Y%m%d%H%M%S"`
logFile=$0.log
#echo $UP
sqlplus -s $UP << EOF > ${logFile}

truncate table rms132.item_loc_soh_snapshot;
insert into rms132.item_loc_soh_snapshot (select * from item_loc_soh);
commit;

EOF

#Verifying the program execution

if [[ $? -eq 0 ]]; then
   echo "Successfully Excuted the Item_Loc_Snapshot Batch.">> ${logFile}
else
   echo "Item_Loc_Soh_Snapshot batch failed.">> ${logFile}
   exit -1
fi

2 个答案:

答案 0 :(得分:0)

通过cron运行设置时,可以在环境中添加设置:

#!/bin/ksh
# Script variables
source ~/.profile

这是确保在ORACLE_SID中运行时设置cron和其他变量的方法

还要检查变量UP的设置位置

答案 1 :(得分:0)

这是许多CRON问题的一般答案:

请考虑修改cron命令行以将STDERR和STDOUT重定向到文件,通常将日期(或时间戳)附加到文件上。将它们放入日志文件,并进行定期清除。这将为您提供许多有关问题的信息。

1 1 1 1 1 command >>log/command.$(date +%F).out 2>>log/command.$(date +%F).err