自己的Linux服务器的时间和PC机上的时间不太对,打log的时间对不上,不太方便调式信息的判断,因此需要同步一下Linux服务器的时间和自己Windows的时间,两者一致,才方便调式的查看呢。
同步网络时间
在Linux下,我们可以使用ntpdate进行网络时间的同步,而不是我们自己去设置时间。这个命令的使用很简单,
- ntpdate 0.cn.pool.ntp.org
另外网络时间同步和时区是不一样的。你可以选择任何一台网络时间同步服务器来同步你的时间,只要你的时区设置是对的,那么你的Linux上的时间就是对的。因为全球都是基于一个标准时间来约定的,美国人民与我们不同的是时区不同,经过换算,我们和他们的标准时间是一样的。
定时的同步时间
我们可以使用crontab来定时的同步时间
- vim /etc/crontab
- 10 5 * * * root (/usr/sbin/ntpdate 0.cn.pool.ntp.org && /sbin/hwclock -w) &> /var/log/ntpdate.log
每天的5点10分crontab运行一次命令,自动同步时间。
如果你具有多台的服务器,不要使用这个方法来定时的同步的你服务器,请使用ntpd来进行,这个还可以校准始终的问题。
使用ntpdata造成的时间的越变还可能引发因某些依赖连续时间的程序的问题。一般第一次使用ntpdate,接下来使用ntpd服务来不断的调整时间。
如何设置时区
将时区设置为东8区的时间,虽然服务器在全球的不同地方,但是我们人在中国,看着中国的时间比较有感觉。
- cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- date
- # Mon Mar 31 11:02:55 CST 2014
另外如果使用date命令查看时间,发现刚刚好相差8个小时或者其他的小时,那么应该就是你的时区设置不对,快快修改一下吧。
网络时间同步服务器列表
全球那么多的网络时间同步器,那么使用哪个好呢。我们知道数据在网络上流动是由延迟的,因此我们选择离我们服务器越近的服务器进行同步,时间越准。
时间服务器分为两种,一种是一级时间服务器,另外一种是二级时间服务器。我们如果是同步自己的服务器的时间,那么选择二级时间服务器,因为一级时间服务器是为二级时间服务器提供时间校对服务器,我们尽量不要增加一级服务器的压力。这种层级的概念和DNS的层级概念是一致的。
一级时间服务器列表:http://support.ntp.org/bin/view/Servers/StratumOneTimeServers
二级时间服务器列表:http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers
附二级服务器列表:
- 0.pool.ntp.org 有域名负载均衡
- 0.cn.pool.ntp.org 有域名负载均衡
- ntp.tuna.tsinghua.edu.cn 清华大学
- time.windows.com 微软
- ntp1.aliyun.com 阿里云
- ntp2.aliyun.com 阿里云
- ntp3.aliyun.com 阿里云