我正在寻找chrony套件中类似于'ntpdate IP地址'命令的等效命令,以立即强制chronyd同步时间。
尝试
sudo chronyc -a makestep
这将快速更新您的系统时钟(可能会破坏一些正在运行的应用程序),使用在/etc/chronyd.conf
中定义的时间源。
-a选项是必需的,以避免
501未授权错误
sudo chronyc -a makestep
- StackEng2010chronyc (chrony)版本3.5.1(+READLINE +SECHASH +IPV6 +DEBUG)
(Fedora 32)的手册中指出,选项-a
被忽略。 - Richard Green使用chrony等效于ntpdate SERVER-ADDRESS
命令的是:
chronyd -q 'server SERVER-ADDRESS iburst'
请注意,chronyd
在执行此操作时不能已经运行,就像使用 ntpdate
设置日期时不能运行 ntpd
一样。
sudo systemctl start chronyd; sudo chronyc -a 'burst 4/4'
- olopopo出于各种原因,在我的设置中, chronyd 被禁用,我们想要偶尔手动与 NTP 服务器同步。
对于这种情况,Rob Newton 的答案中的命令是有效的(谢谢!)。
请注意,如果您查询ntp 池,建议使用 pool 命令,如下所示:
chronyd -q 'pool pool.ntp.org iburst'
sudo chronyc -a makestep
将不会生效,因为它试图与 chronyd 守护进程通信。如果你遇到了以下问题:
Could not read keyfile or commandkey in file /etc/chrony.conf
运行时:
sudo chronyc -a makestep
接下来确保你在/etc/chrony.conf文件中有以下这行:
keyfile /etc/chrony.keys
确保您在 /etc/chrony.keys 中为密钥 0 设置了密码:
0 SHA1 HEX:9222248F87B1FDDB01716FC8F1A7B5AB13CDAC91
您可以生成一个SHA1哈希密码:
echo -n Th15is4Pa55w0rd! | sha1sum
9222248F87B1FDDB01716FC8F1A7B5AB13CDAC91
commandkey
指定为0以外的其他内容。默认值为0,因此如果设置为其他内容,则需要将其与/etc/chrony.keys中的内容对齐。key 0
表示“没有使用钥匙”。 - undefined
chronyd -q
以这种模式运行时,chronyd将设置系统时钟一次并退出。它不会从终端分离。 - user3788685