Linux服务器时间同步

Stella981
• 阅读 498

导读

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

Linux时间的操作的常见命令

date命令

使用方式 :

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

Linux服务器时间同步
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 ~]#

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java常用类(2)
三、时间处理相关类Date类:计算机世界把1970年1月1号定为基准时间,每个度量单位是毫秒(1秒的千分之一),用long类型的变量表示时间。Date分配Date对象并初始化对象,以表示自从标准基准时间(称为“历元”(epoch),即1970年1月1日08:00:00GMT)以来的指定毫秒数。示例:packagecn.tanjian
皕杰报表(关于日期时间时分秒显示不出来)
在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp
Karen110 Karen110
2年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Wesley13 Wesley13
2年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Stella981 Stella981
2年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
2年前
Linux服务器同步网络时间
Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步。一、修改时区:\cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime修改为中国的东八区
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_