Shell脚本遍历一个日期范围实例_linux shell

如果跟shell脚本打交道,遍历一个时间范围是很常见的事情,那么今天就跟大家分享一下:

复制代码 代码如下:

#!/usr/bin/env bash
date1="$1"
date2="$2"

echo "date1: $date1"
echo "date2: $date2"

tempdate=`date -d "-0 day $date1" +%F`
enddate=`date -d "-0 day $date2" +%F`
tempdateSec=`date -d "-0 day $date1" +%s`
enddateSec=`date -d "-0 day $date2" +%s`

echo "####################################"
echo 'tempdate: '$tempdate
echo 'enddate: '$enddate

#for i in `seq 1 130`; do
for i in `seq 1 300`; do
  if [[ $tempdateSec -lt $enddateSec ]]; then
    break
  fi

  echo $tempdate
  python pc_jibzhuanti_url.py $tempdate
  tempdate=`date -d "-$i day $date1" +%F`
  tempdateSec=`date -d "-$i day $date1" +%s`
done

这是一个倒序输出时间的脚本,需要输入两个时间参数,一个是开始时间,一个是结束时间,如输入:

复制代码 代码如下:

./pc_jibzhuanti_url_run.sh 2014-06-30 2014-06-01

输出的结果是:

复制代码 代码如下:

date1: 2014-06-30
date2: 2014-06-01
####################################
tempdate: 2014-06-30
enddate: 2014-06-01
2014-06-30
2014-06-29
2014-06-28
2014-06-27
2014-06-26
2014-06-25
2014-06-24
2014-06-23
2014-06-22
2014-06-21
2014-06-20
2014-06-19
2014-06-18
2014-06-17
2014-06-16
2014-06-15
2014-06-14
2014-06-13
2014-06-12
2014-06-11
2014-06-10
2014-06-09
2014-06-08
2014-06-07
2014-06-06
2014-06-05
2014-06-04
2014-06-03
2014-06-02
2014-06-01

ok,搞定!!!!

时间: 2024-09-20 00:33:30

Shell脚本遍历一个日期范围实例_linux shell的相关文章

Shell脚本注册到Linux系统服务实例_linux shell

注册一个系统服务,开机自启动. 1 脚本编写 #vim test.sh 复制代码 代码如下: #!/bin/bash    #description: hello.sh  #chkconfig: 2345 20 81    EXEC_PATH=/usr/local/  EXEC=hello.sh  DAEMON=/usr/local/hello.sh  PID_FILE=/var/run/hello.sh.pid    . /etc/rc.d/init.d/functions    if [ !

Linux中执行shell脚本的4种方法总结_linux shell

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在

shell脚本实现实时检测文件变更_linux shell

使用python做web开发,现在流行使用uwsgi调用python程序,但是使用uwsgi一段时间发现有一个弊端,就是每次更改源代码后必须重启uwsgi才能生效,包括更改模板文件也是,我是个懒人,再经过一段时间反复的更改-重启后我终于忍受不了,决定写一个脚本来定时程序目录的文件改动,并及时自动重启uwsgi,来解放我的双手可以不用理会这些琐碎的重启工作. 用了点时间来编写了一个脚本用来判断是否更改,然后判断是否需要重启uwsgi. 下面放出脚本内容: #!/bin/bash # Author

Shell脚本实现自动输入密码登录服务器_linux shell

使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp.ssh连接远程主机等等,如下图: 那么问题来了,在脚本自动化执行的时候需要输入密码怎么办?比如你的脚本里有一条scp语句,总不能在脚本执行到这一句时手动输入密码吧. 针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是

Shell脚本实现的memcached进程监控_linux shell

WEB服务器使用memcached,但是不知道为什么memcached老是挂掉(基本20分钟-50分钟左右),导致部分网站页面在访问的时候出错:定义日志后,查看日志也未能发现什么:初步判定由于之前更新libevent有关系.由于线上服务器,所以先用脚本来弥补下 #!/bin/sh pid=`ps aux|grep -v grep|grep memcached|awk '{print $2}'` memcached=`/usr/local/memcached/bin/memcached -u ww

shell脚本编写的俄罗斯方块游戏代码_linux shell

粘贴以下代码到一个空的Shell脚本文件中,并在Bash 中运行即可! 复制代码 代码如下: #!/bin/bash # Tetris Game# 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declarationAPP_NAME="${0##*[\\/]}"APP_VERSION="1.0"  #颜色定义cRed=1cGreen=2cYellow=3cBlue=4cFuchs

Shell脚本实现批量生成nagios配置文件_linux shell

如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦.因而想到了用shell脚本来批量生成配置文件和配置数据.下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序.其原理是事先定义一个shell脚本模板,然后每个需要监控的站点复制一份模板替换掉模板文件里面的变量. 1.准备模板文件webcheck.template more webcheck.template ###################WEBURL define start##############

Shell脚本避免重复执行的方法_linux shell

很多用cron定时执行的shell脚本可能会由于各种原因执行很久,会有必要在运行的时候先检查一下自身是否还在运行.本文提供的linux shell脚本用以检查以命令sh ...来执行的shell脚本.要对其他东西进行唯一性检查,可以稍微修改一下源代码. 复制代码 代码如下: # 检查通过sh命令执行的shell脚本是不是还在执行当中,避免重复执行. # 把这段代码放在需要保证唯一性的程序头部即可 # 注意,如果直接把此脚本放到cron里面执行的话,必须再grep -v " -c sh "

Shell脚本实现监控kingate并自动启动_linux shell

自己在vps做的kingate服务端,估计最近占用流量太大了,老是被服务商把我vps重启,但kingate这个东西是一旦被强制结束掉,是无法开机启动的,因为要把kingate.pid这个文件删除了才能启动,好吧,对于我们这样的懒人来说,当然不能自己去登录服务器去手动删除并启动kingate,就写了个简单的shell脚本来替我完成这些. 系统:centos 5.x 脚本内容: cat kingate.sh 复制代码 代码如下: #!/bin/bash kingate=`ps -C kingate