我在通宵脚本中遇到了循环问题。所以我得到了一个大脚本,为所有基地运行夜间转储然后开始一些任务,第二天需要开始什么,因为他们正在比较基地中的信息并对其进行一些更改。该脚本从 00:35 开始,需要到第二天早上 6:00 结束。但是基地越来越大,及时结束它的唯一理由是比现在更早地开始倾销基地。所以我做了一些改进,我在互联网上找到了什么,并在脚本中添加了一个循环来检查新的一天是否开始:
while [ $(date "+%H") -ge 21 ]; do
echo "`date` - NOT OK" >> /tfiles/Log/logtest.txt
sleep 120
done
echo "`date` - OK" >> /tfiles/Log/logtest.txt
一个问题是——这个循环是否有效,如果基地倾倒足够长的时间可以到达第二天。我的意思是 - 如果我们在 21:00 开始这个脚本,转储在 00:10 结束,然后循环检查它是哪一天,然后开始等到第二天。
还有一个问题,我找不到,选项 -ge 21 是什么意思?
总而言之,脚本如下所示:
21:00 开始
倾倒
循环检查它是否到达第二天
等到第二天
第二天需要开始的工作
运行类似的脚本结束