00:00からx分間隔で処理

5分間隔でメールデータを送ってくる仕組みのテストデータを一気に作成するので五分毎の時間を取得する方法を考えてみた。

参考にしたサイトのURLを忘れてしまいました。。。すみません(汗

で・・・本題。

以下のコードで取得が出来る(はず)

参考

#!/bin/sh

#日付変数のクリア
DAYS=""              

#何分おきの時間を取得するのか
TIME_STEP=5            

#初期値をクリア
count_time="00:00:00"       

if [ -z $1 ]; then
  #引数に実行する年月日が入ってないと異常終了する
  echo "引数に日付(YYYY/MM/DD)を入力してください"

  #bash終了
  exit
fi


#1日の処理回数分だけ繰り返す
for Loop in `seq 1 $(( 60 / $TIME_STEP * 24 ))` 
do
  #日付と時間のデータ形式を変更
  DAY_TIME=`date --date "$1 $count_time" +"%y%m%d%H%M%S"`

  #実行するコマンド
  echo ${DAY_TIME}                  

  count_time=`date --date "$DAYS $count_time $TIME_STEP minutes" +%H:%M:%S`
done

#最後に1回実施
DAY_TIME=`date --date "$1 $count_time" +"%y%m%d%H%M%S"`

#実行するコマンド
echo ${DAY_TIME}
linux/bash/timeloop.txt · 最終更新: 2012/01/17 15:33 by miyako



DMM.com電子書籍

CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0

- Media Kiss Lab -