1.ntp4.2.4之前的版本都存在一个很严重的BUG,当ntp的启动参数里有同时有-g -x,并且在ntp.config中的server的校时服务器地址不可达时,会出现无论是start,stop,restart服务都会报错。
报错内容:Starting ntpd: ERROR:only one panicgate option allowed
这个BUG的描述可以参见:https://bugzilla.redhat.com/show_bug.cgi?id=228424
解决办法:1.升级版本。2.修改/etc/sysconfig/ntpd中的启动参数,去掉“-g -x”中的一个。(这个方法我没有试,但应该可行)
2.经过实验,我发现ntpd服务即可以作为校时服务器,也可以作为校时客户端,没有必要通过计划任务(cron)使用ntpdate来同步,这样可能会造成系统时钟的跳跃变化,对正在运行的程序会造成不可预知的后果。
但是主流的做法又都是通过cron来ntpdate,这里是有我不知道原因吗?
3.linux修改时间 date:
date –s:按字符串方式修改时间
可以只修改日期,不修改时间,输入: date -s 2007-08-03
只修改时间,输入:date -s 14:15:00
同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:
#date -s "2007-08-03 14:15:00"
4.linux是有两个时钟的,一个是系统时钟,另一个硬件时间时钟。系统每次启动时从bios读取硬件时间时钟来初始化系统时钟。而使用ntp和date来修改时间都是修改系统时钟。换句话说,系统重启后,时钟又会误差。可以通过以下参数来修正。
查看BIOS时间# hwclock --show
把硬件时间设置成系统时间# hwclock --hctosys
把系统时间设置成硬件时间# hwclock --systohc
5.ntpd启动后的查看,可以用ntpstat和ntpq -p来看是否开始同步。
刚启动ntpd服务时,主要通过ntpq -p看,如果有一行的开头被标了*号,那说明服务已经找到了同步源,之后至少要等5-10分钟才能看到效果。而刚启动时看ntpstat仍旧可能是没有同步。