在计划备份时,我是否应该担心夏令时?

Lan*_*nes 5 backup scheduled-tasks cron

所以如果有那么一天:

https://secure.wikimedia.org/wikipedia/en/wiki/Daylight_saving_time

当我们必须例如:将时钟从凌晨 3 点调回到凌晨 2 点。好的。

所以如果有人在凌晨 3 点创建一个 cron 作业,那么如果夏令时到来,备份将首先在凌晨 3 点运行,然后时钟自动设置回凌晨 2 点,1 小时过去了,然后备份再次运行,因为现在是凌晨 3 点![假设备份每天运行两次,可能会出现问题。甚至更糟:没有备份将运行,因为它是例如:安排在凌晨 2 点,但时钟永远不会到达凌晨 2 点,因为它将自动设置为凌晨 3 点!当我们必须把时钟调快时]。

所以真正的问题是:世界各地的夏令时是相同的,还是在不同的时间?我们应该注意这个“理论”问题吗?

mto*_*one 1

我不知道 Cron 是如何做到的,但这是 Microsoft对任务计划程序问题的看法。

春天向前

对于在由 SF 转换引起的时间空白内调度的任务,调度程序可能有多种可能的行为方式:

  • 方法 1:由于这些分钟不会出现在该时区的当天,因此计划程序可能会忽略计划在这些分钟内发生的任何任务。此行为可能适合某些应用程序;调度程序不会阻止将这些时间放入日程表中。

  • 方法 2:在没有发生 DST 的情况下,在实际启动这些任务的时间启动这些任务。例如,计划在当天早上 2:05 发生的任务实际上会在 DST 3:05 运行。这种方法对于必须交错和排序的任务可能很有用。但是,此方法可能会导致一个任务在依赖于第一个任务的另一个任务之后运行。例如,如果一个任务安排在 2:30,后续任务安排在 3:15,则 3:15 的任务可能会先运行,然后是 2:30 的任务,后者现在将在 3:30 运行。

  • 方法 3:压缩时间,然后按照计划在转换后某个时间运行的顺序运行所有错过的任务。这种行为使任务保持有序。然而,如果在 SF 时间间隔内安排了多个任务,它们似乎几乎同时开始。任何需要特定时间和顺序的相互依赖性都可能导致任务中的步骤失败。这似乎是最新的 Microsoft 调度程序使用的方法。

倒退

以下是当时间重复时,调度程序对于 FB 期间调度的任务可能采取的几种行为方式:

  • 方法 1:由于时间会重复,因此每次到达预定时间时都重新执行该任务。这似乎不是一个常见的要求;然而,这种行为可能适合某些应用程序。

  • 方法 2:在没有发生 DST 的情况下实际开始这些任务的时间开始这些任务。例如,计划在当天早上 2:05 运行的任务将在标准时间 1:05 运行,这是第二个 1:05 挂钟时间。

  • 方法 3:在计划的挂钟时间启动任务。此行为会将计划在该日期 2:00 DST 开始的任何任务延迟一小时,但该时间之后的所有任务都会按您想要的顺序和实际时间间隔发生。最新的 Microsoft 调度程序似乎使用了这种方法。但是,计划恰好在过渡时刻发生的任务可能会在该时刻运行。例如,计划在凌晨 2:00 发生的任务可能会在标准时间凌晨 1:00 运行(如方法 2 中所示)。