#!/bin/ksh
##########################################################################################
#程序名称:
#作者姓名:
#开发时间:
#参数列表:date 处理数据的时间,
#功能说明:实时处理数据
#
##########################################################################################
TEMP_FILE_DIR=$HOME/smp_run/smpser/temp
LIST_FILE_DIR=$HOME/smp_run/smpser/temp
BILL_FILE_DIR=$HOME/smp_run/smpser/temp/billbackup
LOAD_FILE_DIR=$HOME/smp_run/smpser/load
LOGDIR=$HOME/smp_run/smpser/log
FLAGDIR=$HOME/smp_run/smpser/flag
LogFile=${LOGDIR}/bill_w_kpi.sh.log #日志文件
Log()
{
timestr=`date '+%Y-%m-%d %H:%M:%S '`
if [ "-$LogFile" = "-" ]; then
echo "ERROR: LogFile is not defined!"
exit 1
fi
#如果带-s参数,说明既向日志文件输出,同时也需要向屏幕输出
if [ "x$1" = "x-s" ]; then
shift
echo "$*" >> $LogFile
echo "$*"
else
#否则,只向日志文件输出
echo ${timestr}"$*" >> $LogFile
echo ${timestr}"$*"
fi
}
#调用格式:LogStart 程序名
#例如:LogStart $0
LogStart()
{
Log -s " "
Log -s " "
Log "++++++++++ $1 Start ++++++++++"
}
#调用格式:LogEnd 程序名
#例如:LogEnd $0
LogEnd()
{
Log "---------- $1 End ----------"
Log -s " "
}
# ====== main ==============================================
ProgName=`basename $0`
#程序运行唯一性检查
CheckUnique()
{
Log " "
Log "Begin to check unique ..."
pid=$$
ps -ef|grep $1|grep $LOGNAME |grep -v grep|grep -v $pid |grep -v root |grep -v "c $1"|read result
if [ "-${result}" = "-" ]; then
Log "Only one $1 is running!"
else
Log "another $1 is already running!!"
LogEnd $1
exit 1
fi
Log "Check unique OK!"
}
###############################################
#
#功能:计算一个日期加或减一个天数后得到的新日期
#输入参数:
# 1.日期
# 2.要变化的天数
#输出:
# 变化后的日期
# -1 失败
# 0 :表示增量为零
################################################
day_calculate()
{
date1=$1
datemodi=$2
#若日期增量为0,则返回输入日期
if [ $datemodi -eq 0 ]; then
ret_date=$date1
return 0
fi
yy=`echo $date1 | cut -b 1-4`
if [ $? -ne 0 ]; then
return -1
fi
&nb