zoukankan      html  css  js  c++  java
  • 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


      

  • 相关阅读:
    05Mybatis_入门程序——根据id查询用户
    04Mybatis_搭建Mybatis的开发环境
    03Mybatis_mybatis框架原理——执行流程
    02Mybatis_原生态jdbc编程中的问题总结——从而引生出为什么要用Mybatis
    01Mybatis_课程安排
    21SpringMvc_异步发送表单数据到Bean,并响应JSON文本返回(这篇可能是最重要的一篇了)
    20SpringMvc_结果的转发可共享参数;重定向不能共享参数
    19SpringMvc_在业务控制方法中收集List集合中包含JavaBean参数
    18SpringMvc_在业务控制方法中收集数组参数
    阿里架构师,讲述基于微服务的软件架构模式(附资料)
  • 原文地址:https://www.cnblogs.com/Willie-WangLiang/p/7777803.html
Copyright © 2011-2022 走看看