当前位置: 首页 > news >正文

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


  

转载于:https://www.cnblogs.com/Willie-WangLiang/p/7777803.html

相关文章:

  • linux网络流控-htb算法简析
  • Xpath语法
  • Java 基础知识
  • javaWeb中怎么获取提交表单里面的值
  • 阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集【转】
  • 《C程序设计语言》笔记 (二)类型运算符与表达式
  • 怎么在页面中引入外部模板
  • django--权限管理day1
  • Alpha 冲刺 (7/10)
  • 找零问题
  • 自动化java+webdriver常用的一些脚本
  • 一些 Ubuntu 使用的小技巧
  • java 单点登录机制
  • 最长上升子序列nlogn算法
  • JAVA配置环境
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • ES10 特性的完整指南
  • ES2017异步函数现已正式可用
  • JS学习笔记——闭包
  • Kibana配置logstash,报表一体化
  • Linux后台研发超实用命令总结
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Vue ES6 Jade Scss Webpack Gulp
  • vue学习系列(二)vue-cli
  • 前端攻城师
  • 入口文件开始,分析Vue源码实现
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 微服务框架lagom
  • 新版博客前端前瞻
  • gunicorn工作原理
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • .form文件_一篇文章学会文件上传
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .Net的DataSet直接与SQL2005交互
  • @hook扩展分析
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [22]. 括号生成
  • [AIGC] Java 和 Kotlin 的区别
  • [Android]How to use FFmpeg to decode Android f...
  • [autojs]逍遥模拟器和vscode对接
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [BZOJ] 2427: [HAOI2010]软件安装
  • [java刷算法]牛客—剑指offer链表有环的入口、反转链表、合并排序链表
  • [Kubernetes]2. k8s集群中部署基于nodejs golang的项目以及Pod、Deployment详解
  • [Linux] MySQL数据库之索引
  • [Linux]于Mac在配置Linuxserver安装Nginx+PHP