開始日から今日までの間に1日が何回やって来たかをカウントするシェルスクリプト

@iwasaki 114views 更新:2014年10月9日

例えば毎月1日にバックアップ処理を実施して、毎日のcronの中でそのバックアップが正常に世代管理されているかをチェックするケースがあるかと思います。

例えば月次のバックアップが3世代分取られているかをチェックする際に、開始日から3ヶ月以上経過すれば3世代のチェックをすればいいですが、それまでの間は3世代まで行かないので、せめて開始日から1日が何回やって来たかをチェックして、その世代分のチェックを行う必要が出てきます。

開始日から今日までの間に1日が何回やって来たかをシェルスクリプトでカウントするには以下のようにします。

#!/bin/sh

START_DAY="2014-08-15"
TODAY=`date +%Y-%m-%d`

START_YM=`date -d"$START_DAY" +%Y%m`
TODAY_YM=`date -d"$TODAY" +%Y%m`

DIFF_YM=`expr $TODAY_YM - $START_YM`
echo "$DIFF_YM"

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません