有的时候系统时间不对会引起很多未知的奇葩问题, 所以作为服务器更为重要.
查看当前服务器时区:
timedatectl
如已是正确时区,请略过. 如果不是本地时区, 则需要手工设置, 以北京时区为例:
timedatectl set-timezone Asia/Shanghai
yum install ntpdate ntp -y
修改NTP配置vim /etc/ntp.conf
:
#注释掉默认服务器列表
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#新增:时间服务器列表.
server 0.cn.pool.ntp.org iburst
server 1.cn.pool.ntp.org iburst
server 2.cn.pool.ntp.org iburst
server 3.cn.pool.ntp.org iburst
手动同步时间:
ntpdate -u 1.cn.pool.ntp.org
ystemctl enable ntpd
systemctl start ntpd
查看ntp连接状态如果没有问题
ss -tlunp | grep ntp
ntpq -p
将正确时间写入硬件:
hwclock -w
以crontab任务计划同步时间(需安装ntpdate,每天24点更新同步时间) crontab -e
:
0 0 * * * /usr/sbin/sntp -P no -r 172.16.128.171;hwclock -w
RTC(Real-Time Clock)或CMOS时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。
RTC(Real-Time Clock)或CMOS时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。
一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。
整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。
中国标准时间 (China Standard Time)
GMT + 8 = UTC + 8 = CST
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。
使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。
ntpd
不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步. ntp守护进程为ntpd,配置文件是/etc/ntp.conf
ntpdate
立即同步时间,ntpdate用于客户端的时间矫正,非NTP服务器可以不启动NTP. 在生产环境中慎用ntpdate,也正如此两者不可同时运行
。ntpd有一个自我保护设置: 如果本机与上源时间相差太大, ntpd不运行. 所以新设置的时间服务器一定要先ntpdate从上源取得时间初值, 然后启动ntpd服务进行时间的平滑同步。
ntpd 进程通过定期与NTP时钟源服务器发送消息来获取时间信息。在进程初始启动时候,不论是第一次boot还是随后启动,nptd 会给服务器发送消息以获取时间本设置到本地系统。为了防止网络风暴,进程启动后会在定义好的间隔64秒之上再加一个随机延迟值,这个随机值的范围是0~16秒;因此进程启动后需要数分钟才会开始同步时间。
使用ntpd服务,要好于ntpdate加cron的组合。
因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比 如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。
本文由 systemofdown 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。