• shell设置时间递减脚本


    经常要用shell来做时间的定时任务,尤其是用sqoop脚本拉取数据的时候,那么假如当你要导入数据是残缺的时候呢,我写了一个能自定义时间并逐条递减的程序

    #!/bin/bash

     

    . /etc/profile

    . ~/.bash_profile

     

    set -x

    cd $(dirname $0)

     

     

    #ttt=259

    for wl in $( seq 1 300); do

            #statements

     

    DATE1=$(date -d "${wl} day ago 20170725" +%Y-%m-%d)   #20170725的前一天 遍历减一天

    DATE2=$(date -d "$(($wl-1)) day ago 20170725" +%Y-%m-%d) #20170725这一天 遍历当天

    dt=${DATE1//-/}  #设置时间格式用于分区

    done

    如果想获得当前时间递减就把 ago 20170725去掉就可以了

    运行命令: bash -test1.sh 

    运行结果:

    ++ export PATH

    + set -x

    ++ dirname test1.sh

    + cd .

    + HADOOP_BIN=/workspace/carkey/hadoop/latest/bin/hadoop

    + HIVE_BIN=/workspace/carkey/apache-hive-2.1.1-bin/bin/hive

    + SQOOP_BIN=/workspace/carkey/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/bin/sqoop

    ++ seq 1 100

    + for ijk in '$( seq 1 100)'

    ++ date -d '1 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-24

    ++ date -d '0 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-25

    + dt=20170724

    + for ijk in '$( seq 1 100)'

    ++ date -d '2 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-23

    ++ date -d '1 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-24

    + dt=20170723

    + for ijk in '$( seq 1 100)'

    ++ date -d '3 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-22

    ++ date -d '2 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-23

    + dt=20170722

    + for ijk in '$( seq 1 100)'

    ++ date -d '4 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-21

    ++ date -d '3 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-22

    + dt=20170721

    + for ijk in '$( seq 1 100)'

    ++ date -d '5 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-20

    ++ date -d '4 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-21

    + dt=20170720

    + for ijk in '$( seq 1 100)'

    ++ date -d '6 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-19

    ++ date -d '5 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-20

    + dt=20170719

    + for ijk in '$( seq 1 100)'

    ++ date -d '7 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-18

    ++ date -d '6 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-19

    + dt=20170718

    + for ijk in '$( seq 1 100)'

    ++ date -d '8 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-17

    ++ date -d '7 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-18

    + dt=20170717

    + for ijk in '$( seq 1 100)'

    ++ date -d '9 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-16

    ++ date -d '8 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-17

    + dt=20170716

    + for ijk in '$( seq 1 100)'

    ++ date -d '10 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-15

    ++ date -d '9 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-16

    + dt=20170715

    + for ijk in '$( seq 1 100)'

    ++ date -d '11 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-14

    ++ date -d '10 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-15

    + dt=20170714

    + for ijk in '$( seq 1 100)'

    ++ date -d '12 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-13

    ++ date -d '11 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-14

    + dt=20170713

    + for ijk in '$( seq 1 100)'

    ++ date -d '13 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-12

    ++ date -d '12 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-13

    + dt=20170712

    + for ijk in '$( seq 1 100)'

    ++ date -d '14 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-11

    ++ date -d '13 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-12

    + dt=20170711

    + for ijk in '$( seq 1 100)'

    ++ date -d '15 day ago 20170725' +%Y-%m-%d

    + DATE1=2017-07-10

    ++ date -d '14 day ago 20170725' +%Y-%m-%d

    + DATE2=2017-07-11

    + dt=20170710


      

  • 相关阅读:
    OO第二单元总结-上上下下的快乐
    OO第一单元总结
    OO第四单元博客作业
    OO第三单元博客作业
    OO第二单元博客作业
    OO第一次博客作业
    Python Selenium实现浏览器自动化操作
    Python命名规范
    OO_UNIT4 & OO_2020 SUMMARY
    OO_UINT3_2020
  • 原文地址:https://www.cnblogs.com/Willie-WangLiang/p/7777803.html
Copyright © 2020-2023  润新知