linux时钟同步命令的简单介绍

如何把suse linux 系统时间同步

问题提出:

新县网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联建站2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

由于安装系统时,设置的系统时间比实际日期晚了一天,所以发布版本时,有些文件的建立时间比发布时间还晚,因为这个问题版本组还被人提过单;而且在makefile的时候也可能出错,因为makefile的判断条件是源文件的修改时间是不是比目的文件修改时间更早,所以日期不正常经常会造成麻烦。

后来尝试使用date命令和通过yast2管理工具来修改时间,修改后发现时间会回退到修改前的时间。

问题分析:

计算机系统有两个时钟,一个是BIOS,或者CMOS,或者说“硬件时钟”,还有一个就是“系统(操作系统)时钟”.

Linux启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行/sbin/hwclock程序,把当前的硬件时钟复制为系统时间;在系统运行过程中,为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS.

我们使用date和yast修改的是系统时间。若是在修改时间在10分钟内就重启机器,修改的时间就可能没有被写入到CMOS中,而导致时间回退到修改前的时间。

解决方法:

1.以root用户登陆GBAM服务器。

2.输入命令rm/etc/adjtime,删除adjtime.

3.输入命令date月日时分年,修改和设置系统时间。

例如,如果想把GBAM时间设置成2006年11月26日12点01分,输入命令date 112612012006即可。

4.输入命令clock–w,同步硬件时钟和系统时间。

5.完成以上步骤后,使用reboot命令重启GBAM服务器,使用date命令看一下,时间是否已经正确修改。

LINUX系统时间怎么设置同步脚本或命令

3、硬件时间和系统时间的同步

按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。

硬件时钟与系统时钟同步:

# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)

或者

# clock --hctosys

系统时钟和硬件时钟同步:

# hwclock --systohc

或者

# clock --systohc

linux设置系统时区命令

修改系统时间。

linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步,下面就分享一下时间设置及时钟同步的命令使用方法。

date命令将日期设置为2014年6月18日

----   date -s 06/18/14

将时间设置为14点20分50秒

----   date -s 14:20:50

将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss)

----date 0618141614.30

请点击输入图片描述

hwclock/clock 命令查看、设置硬件时间

查看系统硬件时钟

hwclock  --show 或者

clock  --show

设置硬件时间

hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒)

同步系统及硬件时钟。

下图中可以看到硬件和系统时钟相差半小时。可以使用hwclock或者clock进行同步,

硬件时钟与系统时钟同步:

# hwclock --hctosys 或者 # clock --hctosys  hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟

系统时钟和硬件时钟同步:

# hwclock --systohc或者# clock --systohc  即用系统时钟同步硬件时钟

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

linux系统如何设置时间同步?

可以使用ntpdate命令。ntpdate命令使用网络时间协议(NTP)设置日期和时间,通过轮询指定的确定正确时间的NTP服务器来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器和选择算法来选择最好的样本。

命令格式:ntpdate 时间服务器

用法示例:$ ntpdate pool.ntp.org

设置时间同步脚本,虽然以上已经同步了时间,但是由于计时精度的原因,时间的误差会增大。可以通过设置计划任务,每天0点同步一下。

打开crontab进行编辑:$ crontab -e

在crontab任务文件添加:0 0 * * * root ntpate -s pool.ntp.org

-s参数指定将日志输出到syslog,而不是标准输出。

linux系统怎么设置时间同步

命令行界面操作

1、对于linux系统大多数是命令行界面,所以先介绍字符界面同步时间方法。 首选安装ntpdate 时间同步服务, 利用yum install ntpdate

2、接着把linux系统时间同步到windows time公共时间服务器, ntpdate time.windows.com

3、设置时间同步脚本,虽然以上已经同步了时间,但是如果连不上网或者关机就不一样的时间了。可以通过设置计划任务,每天0点同步一下。

添加到crontab任务文件添加:00 0 1 * * root ntpate -s time.windows.com

4、除此之外,我们还可以通过用date命令查看 和手动设置系统时间(必须管理员账号权限。

图形界面设置

1、如果对命令行不熟悉,也可以通过图形界面设置来实现系统时间同步。 找到系统工具----管理员功能选项--- date\时间 和日期

2、启用网络时间,并且与之同步找到date\time 时间菜单之后,勾选“synchronize date and time over the network ”

3、设置正确的当地时区,除此之外,centos系统会根据当期语言来设置默认的时间和时区。对于咗嚛所在的china时间,是北京时间(下面那个UTC时间不要勾)

Linux 时间同步

在Linux系统中存在两个时钟时间,分别是

硬件时钟是指的在主板上的时钟设备,也就是通常可以在BIOS画面设置的时钟,即使关机状态也可以计算时间。

而系统时钟则是指Kernel中的时钟,其值是由1970年1月1日00:00:00 UTC时间至当前时间所经历的秒数总和。当Linux启动的时候,系统时钟会读取硬件时钟的设定,之后系统时钟独立运作。长时间运行两者可能将会产生误差。另外所有的Linux相关指令都是读取系统时钟指定的,如date。

我们这里讨论的是系统时间。

NTP,网络时间协议,使用 123/udp 端口进行网络时钟同步;NTP 是仍在使用中的最古老的网络传输协议之一(1985 年前开始)。

以前Linux时间同步基本是使用 ntpdate 和 ntpd 这两个工具实现的,但是这两个工具已经很古老了。

【注】ntpdate和ntpd是互斥的,两者不能同时使用。ntpd是步进式平滑的逐渐调整时间,而ntpdate是断点式更新时间。

RHEL/CentOS 7.x 已经将 chrony 作为默认时间同步工具了。

其他Linux (如 ubuntu) 使用 systemd-timesyncd 服务。

chrony 是 RedHat 开发的,它是网络时间协议(NTP)的另一种实现;

RHEL/CentOS 7.x 的默认时间同步工具;

chrony 可以同时做为 ntp 服务的客户端和服务端;安装完后有两个程序 chronyd、chronyc:

chronyd 是一个 daemon 守护进程,chronyc 是用来监控 chronyd 性能和配置参数的命令行工具。

系统版本:CentOS 7.5

chrony_server(relay):10.0.0.4

chrony_client:10.0.0.5

Edit file /etc/chrony.conf

默认已经启动,不需要调整

example:

配置 chrony

edit file: /etc/chrony.conf

再次用chronyc 命令检查,比较它与chronyd server的差异

systemd-timesyncd 是一个用于跨网络同步系统时钟的守护服务。它实现了一个 SNTP 客户端,但更轻量级,更集成systemd。

systemd-timesyncd 启动时会读取 /etc/systemd/timesyncd.conf 配置文件,内容如下:

你可以输入你希望使用的其它时间服务器,比如你自己的本地 NTP 服务器,在 NTP= 行上输入一个以空格分隔的服务器列表。

如果服务器可以直接连接internet,不用修改默认配置;如果在内网,需要单独指定。

在最新的 Ubuntu 版本中,timedatectl 替代了老旧的 ntpdate。默认情况下,timedatectl 在系统启动的时候会立刻同步时间,并在稍后网络连接激活后通过 socket 再次检查一次。

timesyncd 替代了 ntpd 的客户端的部分。默认情况下 timesyncd 会定期检测并同步时间。它还会在本地存储更新的时间,以便在系统重启时做时间单步调整。

通过 timedatectl 和 timesyncd 设置的当前时间状态和时间配置,可以使用 timedatectl status 命令来进行确认。

由于 timedatectl 的存在,各发行版已经弃用了 ntpdate,默认不再进行安装。

timedatectl

timedatectl status ,查看时间同步状态;

timedatectl set-ntp true ,开启网络时间同步;

timedatectl set-timezone ZONE ,设置时区。

NTP synchronized: yes 表示时间是同步状态。

查看服务状态以及从哪个ntp server同步时间。

NTP:软件层面实现,成本低。同步精度10ms左右。

PTP:需要网络接口具备在物理层提供时间戳的功能,同步精度优于100ns,局域网的节点需要使用支持PTP功能的交换机。局域网网络接点不支持PTP的话,只能同不到us,而且受网络背景流量影响。


当前文章:linux时钟同步命令的简单介绍
新闻来源:http://pwwzsj.com/article/hdcsje.html