期間増分

期間増分

ログを抽出してストレージに保存するワーカーが使用する日付範囲を作成したいと思います。抽出が完了したら、新しいデータ範囲をワーカーの実行に使用できるように範囲を1ヶ月ずつ増やしたいと思います。 。

本質的に私が達成したいこと

  • 開始日=2020-01-01T15:04:05Z

  • 終了日=2020-02-01T15:04:05Z

  • ワーカーの実行

  • ワーカーは、指定された時間内にジョブを完了します。

  • 他の月の範囲をカバーするように範囲を増やします。

  • 新しい範囲に対してワーカーを実行します。

答え1

以下は、echoの代わりにワーカーを使用する例です。

#!/bin/bash

DateMin=$(date -d "2020-01-01 00:00:00Z" +%s)
DateMax=$(date -d "2020-12-31 23:59:59Z" +%s)

DateCurrent=$DateMin
while [ $DateCurrent -lt $DateMax ]
do
    TempMin=$(date -d @$DateCurrent --iso-8601=seconds)
    TempMax=$(date -d "$TempMin + 1 month - 1 day" +%s)
    echo $TempMin $(date -d @$TempMax --iso-8601=seconds)
    DateCurrent=$(date -d "$(date -d @$TempMax --iso-8601=seconds) + 1 day" +%s)
done

関連情報