shell循环etl跑历史数据

来源:互联网 发布:轩辕剑 还原数据库 编辑:程序博客网 时间:2024/06/06 03:19
#!/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-%d`else    end_date=`date  +%Y-%m-%d`fiecho "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]
 
原创粉丝点击