#-- *********************************************
#-- 内容:
#-- 开发人员:
#-- 开发日期:
#-- 版本:V
#-- 修改时间:
#-- 修改人:
#-- **********************************************
#!/bin/bash
source /etc/profile
log=/LOG/SHELL/LOG
currPath=/OPT/SHELL/CODE
day_week=`date +%w` #用于判断星期几
day_of_the_month=`date +%d`
#起始时间变量
log_day=`date +%Y-%m-%d`
inc_y_m_d=`date -d "1 day ago ${log_day}" +%Y-%m-%d` #1天前
inc_y_m_2d=`date -d "2 day ago ${log_day}" +%Y-%m-%d` #2天前
inc_y_m_7d=`date -d "${inc_y_m_d} 6 day ago" +%Y-%m-%d` #近7天
inc_y_m_8d=`date -d "${inc_y_m_d} 5 day ago" +%Y-%m-%d` #8天
inc_y_m_14d=`date -d "${inc_y_m_d} 13 day ago" +%Y-%m-%d` #近14天
inc_y_m_30d=`date -d "${inc_y_m_d} 29 day ago" +%Y-%m-%d` #近30天
inc_y_m_31d=`date -d "${inc_y_m_d} 28 day ago" +%Y-%m-%d` #31天
inc_y_m_60d=`date -d "${inc_y_m_d} 59 day ago" +%Y-%m-%d` #近60天
#7天前是星期几,%w 星期一 为1 星期二 为2
after_xq=`date -d "${inc_y_m_7d}" +%w`
#自然周:周日、周一
after_week7=`date -d "${log_day} ${after_xq} day ago" +%Y-%m-%d`
after_week1=`date -d "${after_week7} 6 day ago" +%Y-%m-%d`
#上周 周日、周一
before_after_week1=`date -d "${after_week1} 7 day ago" +%Y-%m-%d`
before_after_week7=`date -d "${after_week7} 7 day ago" +%Y-%m-%d`
#判断上周是第几周
last_week_num=`date -d "${after_week1} " +%Y%V` #第几周%V
#自然月 1号 月末
last_month_y_m_01=`date -d "${log_day} 1 month ago" +%Y-%m-01`
last_month_y_m_31=`date -d "${last_month_y_m_01} 1 month 1 day ago" +%Y-%m-%d`
#截取上月是几月
last_month_y_m=`date -d "${last_month_y_m_01}" +%Y%m`
#上月 1号、月末
before_last_month_y_m_01=`date -d "${last_month_y_m_01} 1 month ago" +%Y-%m-01`
before_last_month_y_m_31=`date -d "${before_last_month_y_m_01} 1 month 1 day ago" +%Y-%m-%d` #1 month 后面没加ago 所以是加一个月
#如`date -d "2018-10-01 1 month 1 day ago" +%Y-%m-%d` --1 month 后是11月1日 在1 day ago 后就是10月31日
data_date=`date -d "1 day ago" +%Y-%m-%d`
pt_date=`date -d "1 day ago" +%Y%m%d`
#近期天from to
inc_d=`date -d "1 day ago ${log_day}" +%Y%m%d` #1天前 #1 day ago 在前在后结果一样
inc_7d=`date -d "${inc_y_m_d} 6 day ago" +%Y%m%d` #近7天
inc_30d=`date -d "${inc_y_m_d} 29 day ago" +%Y%m%d` #近30天
last_7day=${inc_7d}-${inc_d}
last_30day=${inc_30d}-${inc_d}
log_table=rpt_cc_dw_detail
depend_name=${log}/${log_table}_${log_day}.txt
scr_name=rpt_cc_dw_detail
while [ 1 ]
do
if [ -f ${depend_name} ]; then
#每天跑一次
sh ${currPath}/${scr_name}_day.sh ${inc_y_m_d} ${inc_y_m_d} 1 ${scr_name}_day ${inc_y_m_d} 0 0 0 0 &
sh ${currPath}/${scr_name}_info.sh ${inc_y_m_14d} ${inc_y_m_d} 8 ${scr_name}_info 0 ${inc_y_m_7d} ${inc_y_m_d} ${inc_y_m_14d} ${inc_y_m_8d} &
sh ${currPath}/${scr_name}_model.sh ${inc_y_m_14d} ${inc_y_m_d} 7 ${scr_name}_7day ${last_7day} ${inc_y_m_7d} ${inc_y_m_d} ${inc_y_m_14d} ${inc_y_m_8d} &
if [ ${day_week} -eq 1 ]; then
sh ${currPath}/${scr_name}_model.sh ${before_after_week1} ${after_week7} 14 ${scr_name}_14day ${last_week_num} ${after_week1} ${after_week7} ${before_after_week1} ${before_after_week7} &
fi
sh ${currPath}/${scr_name}_model.sh ${inc_y_m_60d} ${inc_y_m_d} 30 ${scr_name}_30day ${last_30day} ${inc_y_m_30d} ${inc_y_m_d} ${inc_y_m_60d} ${inc_y_m_31d} &
if [ ${day_of_the_month} -eq 01 ]; then
sh ${currPath}/${scr_name}_model.sh ${before_last_month_y_m_01} ${last_month_y_m_31} 60 ${scr_name}_60day ${last_month_y_m} ${last_month_y_m_01} ${last_month_y_m_31} ${before_last_month_y_m_01} ${before_last_month_y_m_31} &
fi
break
else
echo 'no depend'
sleep 60
continue
fi
done