由于夏季/冬季或冬季/夏季的时间变化可能会出现问题,我想问一下如何在 bash 脚本 2 中解决这个问题?
我认为在冬季通常不会出现问题,因为 CRON 在这里运行得很智能并且不会执行两次 CRONS,尽管如此,我仍然很感激在这里提供如何在两次时间变化中配置最佳的提示。
SUMMER-TIME-CHANGE-GERMANY (RUN AT SAME TIME)
2h - CRONTAB -> Bash-Script 1
3h - CRONTAB -> Bash-Script 2
WINTER-TIME-CHANGE-GERMANY (SHOULD NOT BE A PROBLEM?!)
2h - CRONTAB -> Bash-Script 1
3h - CRONTAB -> Bash-Script 2
答案1
一种方法:
让系统时钟或至少 cron 在 UTC 运行。UTC 没有夏令时,因此您不会遇到任何问题。
(和许多实用程序和工具一样:仅从 UTC 转换为与表示层中的人最相关的时区。)
第二个考虑:
Cron 是一个基于时间的调度程序。如果您有真正的作业依赖关系,您不能真正依赖 cron 来确保它们得到满足。如果批处理作业 B 必须始终在作业 A 之后启动;只需使用单个批处理作业(进行一些错误检查和处理)
#!/bin/sh
/do/job-A
/do/job-B