chonyd我遇到服务器日期问题。
我将硬件时钟日期从当前实际日期更改mar. nov. 27 15:57:12 CET 2018为mer. d\xc3\xa9c. 12 12:12:12 CET 2012使用以下命令:
hwclock --set --date="12/12/2012 12:12:12"\nhwclock -s\nRun Code Online (Sandbox Code Playgroud)\n\n我使用 启动 chronyd 服务systemctl start chronyd,并使用 检查状态systemctl status chronyd,以下输出显示该chronyd服务正在正确运行:
\xe2\x97\x8f chronyd.service - NTP client/server\n Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)\nActive: active (running) since mer. 2012-12-12 12:20:14 CET; 27min ago\n\n...\n\nd\xc3\xa9c. 12 12:20:17 pad chronyd[1808]: Selected source 178.32.220.7\nd\xc3\xa9c. 12 12:20:17 pad chronyd[1808]: System clock wrong by 188017778.899985 seconds, adjustment started\nd\xc3\xa9c. 12 12:25:37 pad chronyd[1808]: Selected source 62.210.211.218\nRun Code Online (Sandbox Code Playgroud)\n\n这是/etc/chrony.conf配置文件:
# Record the rate at which the system clock gains/losses time.\ndriftfile /var/lib/chrony/drift\n\n# Enable kernel synchronization of the real-time clock (RTC).\nrtcsync\n\n# Enable hardware timestamping on all interfaces that support it.\nhwtimestamp *\n\n# Specify directory for log files.\nlogdir /var/log/chrony\n\nserver 0.fr.pool.ntp.org minpoll 0 maxpoll 0\nserver 1.fr.pool.ntp.org minpoll 0 maxpoll 0\nserver 2.fr.pool.ntp.org minpoll 0 maxpoll 0\nserver 3.fr.pool.ntp.org minpoll 0 maxpoll 0\nRun Code Online (Sandbox Code Playgroud)\n\n这是启动chronyc sources后的输出chronyd:
^+ obelix.fraho.eu 2 0 377 0 -876us[ -876us] +/- 12ms\n^- bb8.dousse.eu 2 7 377 40 -1547us[-1547us] +/- 52ms\n^- cdg1.m-d.net 2 6 377 39 -806us[ -806us] +/- 33ms\n^* cluster004.linocomm.net 2 7 377 100 +330us[ +384us] +/- 7957us\nRun Code Online (Sandbox Code Playgroud)\n\n输出表明服务器已连接,显示ntp 主机服务器^+的字符obelix.fraho.eu。
60 多分钟后,我在终端中运行命令date并得到以下输出:
mer. d\xc3\xa9c. 12 13:15:04 CET 2012\nRun Code Online (Sandbox Code Playgroud)\n\nchronyd 尚未更新日期...
\n\n文件夹/var/log/chronyd/是空的
任何想法 ?
\n引用官方FAQ,chronyd只会逐步调整时钟:
默认情况下,chronyd 通过减慢或加快时钟来逐渐调整时钟。如果时钟与真实时间相差太远,则需要很长时间才能纠正错误。chronyc 的跟踪命令打印的系统时间值是需要应用于系统时钟的剩余校正。
如此处所述,您可能能够通过观察输出线来验证您的时钟是否确实在调整(有关详细信息,请参阅中的部分)。System timechronyc trackingtrackingman chronyc
为了chronyd能够步进时钟,您必须makestep在以下位置添加指令chrony.conf:
# Step the clock on the first three updates
# if its offset is larger than one second
makestep 1 3
Run Code Online (Sandbox Code Playgroud)
有时 - 例如在可以暂停和恢复的虚拟机上 - 您可能希望chronyd在任何更新上计时,而不仅仅是启动后的第一个更新:
# Step the clock on any update
# if its offset is larger than one second
makestep 1 -1
Run Code Online (Sandbox Code Playgroud)
但请记住官方文档中的警告(同样来自man chronyc):
[...] 任何时间跳跃都可能对某些应用程序产生不利后果。
| 归档时间: |
|
| 查看次数: |
13629 次 |
| 最近记录: |