在Linux环境下可以通过自带的NTP(Network Time Protocol)协议通过网络使系统保持精确时间, NTP是用来使系统和一个精确的时间源保持时间同步的协议。最好的方法是在自己管理的网络中建立至少一个时间服务器来同步本地时间,这样使得在不同的系统上处理和收集日志和管理更加容易。当然,也有很多免费的NTP客户端供Windows使用。可用的公共时间服务器地址列表可以通过网址:查询。也可以自己搭建时间服务器。
一.使用公共时间服务器
使用过公共时间服务来同步只需要在/etc/crontab里面设置一个任务,让服务器自动同步公共时间服务器。
[root@localhost ~]$vi /etc/crontab
添加:00 0 1 * * root rdate -s cn.pool.ntp.org --cn.pool.ntp.org为公共时间服务器。
二.使用本地时间服务器
服务器端配置
要使用本地时间服务器需要安装NTP包,可以从网络及系统安装光盘中得到安装包。首先查询服务器是否已经安装了NTP包。
[root@localhost ~]$rpm -qa |grep ntp
/etc/ntp.conf为NTP的主要配置文件,可以通过修改此文件来设置本地时间服务器所同步的公共时间服务器的域名或者IP地址。
[root@localhost ~]$vi /etc/ntp.conf
将配置文件中默认的restrict default nomodify notrap noquery这一行用“#”注释掉,然后根据本地局域网信息添加一行,例如:restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap 在此例子中,掩码地址扩展为255,因此从192.168.0.1——192.168.0.254的计算机都可以使用此NTP服务器来同步时间,如果ntp.conf中有restrict default ignore这一行,那么需要将其注释掉,否则配置的本地时间服务器只能与自身通讯。
在默认情况下,我们配置的NTP服务器不会去时间源哪里同步时间,所以需要修改/etc/ntp/step-tickers文件,加入我们的时间源:0.pool.ntp.org 这样每次通过/etc/init.d/ntpd启动服务的时候就会自动更新时间了。NTP服务的启动命令:service ntpd start
客户端配置
[root@localhost ~]$ntpdate NTP服务器ip
[root@localhost ~]$crontab -e