shell循环etl跑历史数据

这是一个Shell脚本,用于根据传入的参数动态执行ETL任务。脚本接收三个参数,分别是执行文件路径、开始日期(默认为前一日)和结束日期(默认为当前日期)。它会循环遍历指定日期范围,每天调用bash命令执行ETL任务。
摘要由CSDN通过智能技术生成
#!/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]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值