自己系统中应用的例子
# TEST ORACLE IS RUNNING
ORACLE_NUM=`ps -ef|grep oracle|grep -v grep|wc -l`
DATE_TIME=`date "+%y-%m-%d %H:%M`
echo "【${DATE_TIME}】ORACLE进程检测数【$ORACLE_NUM】" >>$log_file
if [ $ORACLE_NUM -gt 0 ]
then
echo "【${DATE_TIME}】"ORACLE IS RUNNING!
else
echo "【${DATE_TIME}】"ORACLE IS NOT RUNNING!
exit
fi
cd $app_path
. ./scriptenv.sh
xtrq=`date +%Y%m%d`
log_file=${log_path}batch${xtrq}.log
DATE_TIME=`date "+%y-%m-%d %H:%M`
echo "【${DATE_TIME}】正在检查批量接口数据是否准备完毕,请等候......"
TEST_NUM=1;
while true
do
DQRQ=`date "+%Y%m%d`
DATE_TIME=`date "+%y-%m-%d %H:%M`
VALUE=`sqlplus -S $oracleuser/$oraclepassword<< EOF
set heading off
set pagesize 0;
set feedback off;
set verify off;
set echo off;
select NowDate from SIGNAL where Singal is null;
exit;
END`
if [ $VALUE = $DQRQ ]; then
WEIHRQ=$VALUE;
echo "【${DATE_TIME}】批量接口数据准备完毕: 【$VALUE】"
break
else
if [ ${TEST_NUM} -gt 100 ]
then
echo "【${DATE_TIME}】第【${TEST_NUM}】次检测,数据未准备好,不再检测,请手工查找问题!"
return
fi
fi
echo "【${DATE_TIME}】第【${TEST_NUM}】次检测,数据未准备好,继续检测!"
sleep 180
TEST_NUM=`expr ${TEST_NUM} + 1`
done
DATE_TIME=`date "+%y-%m-%d %H:%M`
DATE_TIME=`date "+%y-%m-%d %H:%M`
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】开始,请等候......"
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】开始,请等候......" >>$log_file
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 设置运行标志"
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 设置运行标志" >>$log_file
cd $app_path
. ./Running.sh KDR
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 运行存储过程"
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】 运行存储过程" >>$log_file
sqlplus -S $oracleuser/$oraclepassword << EOF
set serveroutput on;
declare
i integer;
begin
proc_batch(0,'${WEIHRQ}','${WEIHRQ}',i);
end;
/
EOF
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行批量程序开始,请等候......"
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行批量程序开始,请等候......" >>$log_file
#cd $app_path
#sh startup.sh KDR
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行FTP上传程序开始,请等候......"
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】运行FTP上传程序开始,请等候......" >>$log_file
rm ${local_path}/kdr.finish
echo "上传信号文件给$ftpserver"
echo "上传信号文件给$ftpserver" >>$log_file
touch ${local_path}/finish >>$log_file
echo File $WEIHRQ created >>$log_file
echo start ftp to $ftpserver
ftp -i -n $ftpserver<<EOF >>$log_file
user $ftpuser $ftppassword
cd $ftp_path
lcd $local_path
put finish
quit
EOF
echo put finish success >>$log_file
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】设置批量程序完成标志,请等候......"
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】设置批量程序完成标志,请等候......" >>$log_file
cd $app_path
. ./setComplete.sh KDR
DATE_TIME=`date "+%y-%m-%d %H:%M`
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】结束。" >>$log_file
echo "【${DATE_TIME}】批处理【${WEIHRQ}】【${WEIHRQ}】结束。"