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

shell循环etl跑历史数据

发布时间:2020-12-15 16:50:45 所属栏目:安全 来源:网络整理
导读:#!/bin/shif [ ! -z $1 ]then file_name="$1"else echo "输入执行文件路径!" exitfiif [ ! -z $2 ]then start_date=`date --date="${2}" +%Y-%m-%d`else start_date=`date -d'-1 day' +%Y-%m-%d`fiif [ ! -z $3 ]then end_date=`date --date="${3}" +%Y-%m-
#!/bin/sh

if [ ! -z $1 ]
then
    file_name="$1"
else
    echo "输入执行文件路径!"
    exit
fi

if [ ! -z $2 ]
then
    start_date=`date --date="${2}" +%Y-%m-%d`
else
    start_date=`date -d'-1 day' +%Y-%m-%d`
fi

if [ ! -z $3 ]
then
    end_date=`date --date="${3}" +%Y-%m-%d`
else
    end_date=`date  +%Y-%m-%d`
fi

echo "start_date=$start_date"
echo "end_date=$end_date"

while [[ $start_date < $end_date  ]]
do
    dt=`date --date="${start_date}" +%Y%m%d`
    echo "执行日期:${dt}" 
    cmd="bash ${file_name} ${dt}"
    eval $cmd 
    start_date=`date -d "+1 day $start_date" +%Y-%m-%d`
done
动态执行脚步需传递参数
第一个参数执行脚步路径
第二个参数任务执行开始日期【默认是当前日期前一天】
第三个参数任务执行结束日期【默认是当前日期】
demo: sh run_etl.sh /home/hadoop/dy_run_etl/tesh_etl.sh [20170610] [20170615]

(编辑:李大同)

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

    推荐文章
      热点阅读