有没有办法从另一台服务器的date设置服务器上的date?

有人问我更新4台未连接到互联网的服务器的时间,他们没有ntp服务器。

例如

/etc/hosts 146.92.25.3 jollibee 146.92.25.4 mcdonalds 146.92.25.5 burgerking 146.92.25.6 chowking 

对我来说最简单的事情就是跑步

 date -s "25 Jul 2012 14:40:00" 

为4个服务器中的每一个。

我知道他们会希望我在将来再次这样做,我觉得手动设置时间是一件很痛苦的事情。 我想要做的是在一个盒子上设置时间,然后在其他盒子上设置时间。

例如,如果我把jollibee的时间设置为正确的date,那么我将运行

 [root@mcdonalds /]# date -s `ssh jollibee 'date +"%d %b %Y %T"'` 

等我的其他服务器

事情是我越来越:

 date: too many non-option arguments: 2012 ... Try `date --help' for more information. 

有谁能告诉我我在做什么错在这里?

最好的解决scheme是在所有四台服务器上设置NTP服务器,相互configuration为上游(但不在Internet上)。 你可能想给服务器上一个更高的层,以便其他人都趋于同步。

另一个select是设置rdate 。 configuration其中一台服务器以运行时间协议服务器(通常使用inetd完成),并在其他服务器上设置一个cronjob,以定期在时间服务器上运行rdate

我不确定这是否是设置服务器date/时间的好方法,但是您需要通过将ssh命令放在引号中来修改命令,如:

 date -s "`ssh jollibee 'date +"%d %b %Y %T"'`"