我想创建一个日期范围,供提取日志并保存到存储的工作人员使用,提取完成后,我想将范围增加一个月,以便新的数据范围将用于运行工人。
从本质上讲我想要实现的目标
开始日期=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