导读 Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等复杂操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步。
Linux时间的操作的常见命令
date命令

使用方式 :

date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

timeserver
1.date :查看当前时间,结果如下:

[root@linuxprobe ~]# date
2016年 04月 29日 星期五 23:04:30 CST

2.date '+%Y%M%D' 按照格式显示当前日期,结果如下:

[root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
2016-04-29 23:30:12

3.date -s "xxx xx:xx:xx" 设置系统时间

[root@linuxprobe ~]# date -s "20160429 15:30:00"
2016年 04月 29日 星期五 15:30:00 CST

以上的命令为linux系统时间的常见操作,具体命令见:《linux就该这样学》第2章 新手必须掌握的Linux命令

linux的时间同步

下面我们来看一下我们在复杂环境下怎么把多台linux设置统一的正确环境:对-时间同步
命令:utpdate 时间服务器ip
ntpdate -u xx.xx.xx.xx 结果如下:

[root@linuxprobe ~]# ntpdate -u ntp.api.bz
29 Apr 15:26:27 ntpdate[2667]: step time server 61.153.197.226 offset -311.570389 sec
[root@linuxprobe ~]# date
2016年 04月 29日 星期五 15:26:32 CST

ps:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;

ntp常用服务器:

中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国: time.nist.gov
复旦: ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
北京邮电大学 : s1a.time.edu.cn
清华大学 : s1b.time.edu.cn
北京大学 : s1c.time.edu.cn
台警大授时中心(台湾):asia.pool.ntp.org
时区操作
查看时区:

1.date "+%Z"

[root@linuxprobe ~]# date "+%Z"
[root@linuxprobe ~]# CST

2.使用cat /etc/sysconfig/clock查看当前时区

[root@linuxprobe ~]# cat /etc/sysconfig/clock
# The time zone of the system is defined by the contents of /etc/localtime.
# This file is only for evaluation by system-config-date, do not rely on its
# contents elsewhere.
ZONE="Asia/Shanghai"
设置时区:

复制相应的时区文件,替换系统默认时区 文件链接法
[root@linuxprobe ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@linuxprobe ~]#

ps :/usr/share/zoneinfo为所有不通地区的时区位置
[root@linuxprobe ~]# ls /usr/share/zoneinfo/Asia/
Aden Bahrain Chungking Harbin Jerusalem Kuala_Lumpur Nicosia Qyzylorda Seoul Thimphu Yekaterinburg
……
Almaty Baku Colombo
Baghdad Chongqing Gaza Jayapura Krasnoyarsk Muscat Qatar Samarkand Thimbu Yakutsk

将系统时间写入到硬件(bios)

1.hwclock

[root@linuxprobe ~]# hwclock
2016年04月29日 星期五 15时39分30秒 -0.375972 seconds

2.clock -w

[root@linuxprobe ~]# clock -w
[root@linuxprobe ~]#

本文原创地址:https://www.linuxprobe.comlinux-time-synchronization.html作者:陶武杰,审核员:张宏宇

本文原创地址:https://www.linuxprobe.com/linux-time-synchronization.html编辑:public,审核员:暂无