我们有很多 Linux 机器。我们需要他们的时间值,我不知道如何学习远程linux机器的时间?
有人知道解决此问题的命令或脚本吗?
答案1
什么精度足够?
您可以启用daytime
或time
服务并获取文本形式的时间或表示自 1900 年初以来秒数的 4 字节形式的时间。
这是一个简单的示例,perl
可以让您确认RFC 868 时间服务正在目标服务器上运行:
nc {target_server} time |
perl -e 'sysread(STDIN,$l,4) and print unpack("N",$l) - 2_208_988_800,"\n"'
1476267393
该perl
脚本读取四个字节,每个RFC 868,表示自 1900 年 1 月 1 日午夜以来的秒数。它将其转换为自 1970 年 1 月 1 日以来的秒数 (时代)供 Linux/UNIX 系统处理。 (Windows 应用程序可能更喜欢基于 1900 的值。)
然后,您可以将该数字转换回可读日期,如下所示:
date --date @1476267393
Wed 12 Oct 11:16:33 BST 2016
或者正如已经建议的那样,您可以全力以赴并使用 NTP。有无数关于设置 NTP 的页面,因此我不会在这里重复这些内容。