AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 6438
Accepted
Adam Davis
Adam Davis
Asked: 2009-05-09 11:19:47 +0800 CST2009-05-09 11:19:47 +0800 CST 2009-05-09 11:19:47 +0800 CST

时间同步和计划任务

  • 772

如果 NTP 在 10:59:55 运行,并将时间固定为 11:00:13,那么 chron 是运行 11:00:00 和 *:00:00 任务,还是跳过它们?

或者,如果 NTP 在 11:00:00 运行并将时间固定为 10:59:48,这些任务会运行两次吗?

如果它们被跳过,有什么方法可以解决这个问题?

其他调度程序(窗口等)呢?

-亚当

synchronization time ntp
  • 5 5 个回答
  • 1722 Views

5 个回答

  • Voted
  1. Best Answer
    Tjofras
    2009-05-09T11:22:51+08:002009-05-09T11:22:51+08:00

    如果您运行 NTP 守护程序,您将不会遇到此问题,它会加快/减慢您的时钟,因此它会随着时间的推移而同步,而不是跳跃。

    • 9
  2. gharper
    2009-05-09T11:30:25+08:002009-05-09T11:30:25+08:00

    据我了解,不应跳过或运行两次计划的作业。

    Cron 使用事件列表进行调度,因此如果时间提前,cron 将简单地看到该作业没有按时运行,并在下一个唤醒周期中运行它。如果时间倒退,则该作业将从事件列表中删除,并且 cron 不会将其视为需要再次运行。

    正如 Tjofras 所提到的,ntpd 将使用漂移而不是硬跳来逐渐调整您的时钟,因此除非您自己手动更改系统时钟,否则您通常不会看到时间跳跃。

    • 2
  3. Rym
    2009-06-05T07:47:37+08:002009-06-05T07:47:37+08:00

    这取决于您所说的NTP。如果您以合理的配置运行 NTP 时间同步守护程序 (ntpd),则时间永远不会跳跃。守护程序不断地将系统时间调整为实际时间。它不会每隔一段时间“运行”:它会每隔一段时间查询它的时间源,只是为了确定要减少多少时间。您将永远不会看到跳过的时间,您的时间也不会以任何可察觉的方式倒退。

    但是,如果您通过某些其他方式进行同步,时间将会跳跃。例如,如果您使用 cron 作业来运行ntpdate或ntpd -q(除非您有充分的理由并了解可能的可怕后果,否则您不应该这样做),那么您的系统时间可能会在每次运行时瞬间发生巨大变化。当你第一次启动 ntpd 时,时间也可能会跳跃,这取决于你如何配置它。

    关于 Cron:

    如果 cron 作业应该运行的确切时间由于时间跳跃而没有出现(被跳过),那么它根本不会运行。它将在预定的下一个间隔运行。

    如果 cron 作业应该运行的确切时间出现两次(时间向后跳),那么它将运行两次。

    要解决 cron 问题,请将 ntpd 作为服务/守护程序运行,从而确保您的时间永远不会跳跃。如果您手动跳过时间,则必须检查所有 cron 作业以确定哪些未运行(或将运行两次)并手动干预。

    当然,最好的解决办法是解决时间问题。cron 问题只是更严重的时间跳跃问题的症状,它可能导致 cron 之外的各种问题(日志记录、审计、SELinux 等......)

    • 2
  4. atom255
    2009-05-09T11:46:01+08:002009-05-09T11:46:01+08:00

    如果时间改变,我已经看到 Windows 中的 Backup Exec 作业会触发。当时间倒退一小时时,他们尤其不喜欢。

    • 1
  5. Mark
    2009-06-05T08:22:44+08:002009-06-05T08:22:44+08:00

    正如其他人所提到的,运行 ntpd 可以防止这个问题,但是如果你因为时间跳过而出现问题,你可以使用 anacron。它设计用于当计算机没有 24/7 运行并尽快运行作业时使用,但我不明白为什么它在您描述的情况下不起作用。

    • 1

相关问题

  • 网络文件同步工具

  • 允许跨平台同步的密码管理器[关闭]

  • Windows Server 无法可靠地同步 NTP 时间

  • 在两个位置之间保持数据同步的最有效方法是什么?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve