기간 증분

기간 증분

로그를 추출하고 스토리지에 저장하는 작업자가 사용할 날짜 범위를 생성하고 싶습니다. 추출이 완료되면 새 데이터 범위가 작업자 실행에 사용될 수 있도록 범위를 한 달씩 늘리고 싶습니다. .

본질적으로 내가 달성하고 싶은 것

  • 시작일=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

관련 정보