linux系统怎么设置时间同步
linux系统怎么设置时间同步
Linux服务器运行久时,系统时间就会存在一定的误差,那么linux系统怎么设置时间同步呢?下面大家与学习啦小编一起来学习一下吧。
linux系统怎么设置时间同步
调整linux系统时间和时区与Internet时间同步
一、修改时区:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改为中国的东八区
# vi /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
二、配置新的时间
日期设定:
# date -s 2008/05/06
时间设定:
# date -s 18:40:00
查看硬件时间(BIOS的):
hwclock [-rw]
-r:查看现有BIOS时间,默认为-r参数
-w:将现在的linux系统时间写入BIOS中
当我们进行完 Linux 时间的校时后,还需要以 hwclock -w 来更新 BIOS 的时间,因为每次开机的时候,系统会重新由 BIOS 将时间读出来,所以, BIOS 才是重要的时间依据。
# hwclock
Tue 06 May 2008 03:49:37 PM CST -0.039646 seconds
同步BIOS时钟,强制把系统时间写入CMOS:
# clock -w
三、实现Internet时间同步(这里可以忽略上面两步)
方法1. 开机的时候自动网络校时:
vi /etc/rc.d/rc.local
/usr/sbin/ntpdate -u 192.168.0.2 192.168.0.3 192.168.0.4; /sbin/hwclock -w
方法2. 设定计划任务
crontab格式如下:
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
设定crontab计划任务也有两种方式:
1、写在/etc/crontab里
代码:
00 11 * * * root ntpdate 210.72.145.44
每天11点与中国国家授时中心同步时间
每天11点与中国国家授时中心同步时间
当然前提是
apt-get install ntpdate
代码也可是
00 11 * * * root ntpdate us.pool.ntp.org
2、使用命令crontab -e
crontab -e
10 5 * * * root ntpdate us.pool.ntp.org;hwclock -w
这样每天5:10自动进行网络校时,并同时更新BIOS的时间
一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步。
date命令:
date :查看当前时间,结果如下:Tue Mar 4 01:36:45 CST 2014
date -s 09:38:40 :设置当前时间,结果如下:Tue Mar 4 09:38:40 CST 2014
ntpdate命令:
ntpdate -u 210.72.145.44 :网络时间同步命令
注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
210.72.145.44:中国国家授时中心的官方服务器。
ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国:time.nist.gov
复旦:ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
台警大授时中心(台湾):asia.pool.ntp.org
经测试中国国家授时中心与NTP上海服务器可以正常同步时间,注意需要加上-u参数!
看过“ linux系统怎么设置时间同步 ”的人还看了: