是否可以通过编程知道 systemd-timesyncd;
- 可以访问 NTP 服务器吗?
- 系统时间已经和服务器同步了吗?
原因是我有一个应用程序依赖于精确的时间信息,并且必须在系统时间更新后启动。或者有没有不使用 systemd 的其他方法?
谢谢。
答案1
由此关联(systemd-timesyncd.service 手册页):
/var/lib/systemd/timesync/clock
该文件的修改时间(“mtime”)表示上次成功同步的时间戳(或至少是 systemd 构建日期,以防无法同步)。它用于确保系统时钟在重新启动后保持大致单调,以防没有本地 RTC 可用。
/运行/systemd/timesync/synchronized
每次成功同步时都会触及的文件,以协助 systemd-time-wait-sync 和其他应用程序检测与准确参考时钟的同步。
答案2
systemctl status systemd-timesyncd
* systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-10-25 11:36:40 CEST; 52min ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 881 (systemd-timesyn)
Status: "Synchronized to time server 91.189.91.157:123 (ntp.ubuntu.com)."
Tasks: 2 (limit: 4915)
CGroup: /system.slice/systemd-timesyncd.service
`-881 /lib/systemd/systemd-timesyncd
Oct 25 11:36:40 computername systemd[1]: Starting Network Time Synchronization...
Oct 25 11:36:40 computername systemd[1]: Started Network Time Synchronization.
Oct 25 11:37:11 Computername systemd-timesyncd[881]: Synchronized to time server 91.189.91.157:123 (ntp.ubuntu.com).