加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell 两个日期之间循环

发布时间:2020-12-15 16:45:54 所属栏目:安全 来源:网络整理
导读:shell 日期循环 #!/bin/bash if [ $# == 2 ]; then datebeg= $1 dateend= $2 else echo "请输入开始时间和结束日期,格式为2017-04-04" exit 1 fi tStart=$(date +%s)THIS= " $0 " THIS_DIR=`dirname " $THIS " ` cd ${THIS_DIR} beg_s=`date -d " $datebeg

shell 日期循环

#!/bin/bash 
if [ $# == 2 ]; then
    datebeg=$1
    dateend=$2
else
    echo "请输入开始时间和结束日期,格式为2017-04-04"
    exit 1
fi

tStart=$(date +%s)

THIS="$0"
THIS_DIR=`dirname "$THIS"`
cd ${THIS_DIR}

beg_s=`date -d "$datebeg" +%s`
end_s=`date -d "$dateend" +%s`

echo "处理时间范围:$beg_s$end_s"

while [ "$beg_s" -le "$end_s" ];do
    whileStart=$(date +%s)
    day=`date -d @$beg_s +"%Y-%m-%d"`;
    echo "当前日期:$day"
    hive -f ./fct_ordr_path_off.sql -d date=$day
    whileEnd=$(date +%s)
    echo "日期: $day 的数据处理完成!,timeCost:$(($whileEnd-$whileStart)) seconds"
    beg_s=$((beg_s+86400));
done

tEnd=$(date +%s)
echo "日期: $datebeg ~ $dateend 的数据处理完成!,totalTimeCost:$(($tEnd-$tStart)) seconds"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读