#!/bin/bash
##要求传入的数据格式为yyyyMMdd的两个开始和结束参数，如20190901
start=$1
##结束时间为当前时间
end=$(date "+%Y%m%d")
##如果有两个参数，第二个参数是结束日期，没有的话就是当前时间
if [ $# = 2 ]; then
    end=$2
fi
##将输入的日期转为的时间戳格式
startDate=`date -d "${start}" +%s`
endDate=`date -d "${end}" +%s`
##计算两个时间戳的差值除于每天86400s即为天数差
stampDiff=`expr $endDate - $startDate`
daySub=`expr $stampDiff / 86400`
echo "间隔天数："$daySub
for((i=0;i<$daySub;i++))
 do
  day=`date -d "${1} ${i} days" "+%Y%m%d"`
  sh start-azkaban-alarm-farm.sh DAY ${day}
 done

 ##计算间隔的月数，先计算间隔年数
 yearSub=`expr ${end:0:4} - ${start:0:4}`
 monthSub=`expr ${end:4:2} - ${start:4:2}`
 monthSub=`expr ${yearSub} \* 12 + ${monthSub}`
 echo "间隔月数："${monthSub}
 for((i=0;i<=${monthSub};i++))
  do
   day=`date -d "${1} ${i} months" "+%Y%m"`"01"
   sh start-azkaban-alarm-farm.sh MONTH ${day}
  done