有没有办法找到当天 cron 的第一次执行

有没有办法找到当天 cron 的第一次执行

让我在这里解释一下具体的场景:

我有多个服务器 ~12,每个服务器都有一个 cron 条目,每个服务器的执行时间各不相同。例如

Server1:
30 0,8,16 /p1/scripts/forkChild.sh

Server2:
0 2,4,6,18,22 /p1/scripts/forkChild.sh

Server3:
30 6,18 /p1/scripts/forkChild.sh

等等。

我想要实现的是 whileforkChild.sh被执行;我想知道当前执行是否是当天第一次运行。假设是 1 月 17 日,对于服务器 1,首次执行时间为 00:30,同样,对于服务器 3,第一次执行时间为 6:30。

尽管目前我通过在脚本中添加变量并手动第一次出现运行来实现这一点。

Server1 示例forkChild.sh

firstExecution=00:30
currenttime=$(date +%H:%M:S)
if [[ "$currenttime" = $firstExecution ]]; then
....

上面的代码运行良好,但有时维护同步并不容易。有人可以建议解决方案或更清洁的方法吗?

提前致谢。

相关内容