我的以下脚本在手动运行时可以完美执行,但是在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
答案 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