Linux 修改系统时间的两种方式

这篇具有很好参考价值的文章主要介绍了Linux 修改系统时间的两种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:更新系统时间的方式

1、手动修改

通过相关工具来手动修改系统的时间。

2、自动同步

使用NTP自动同步系统时间。

二:手动修改系统时间

1、date工具

作用:显示和设置系统时间
选项:

-d  <字符串> 显示字符串所指的日期与时间,比如:"-1 day" 表示当前日期的前一天,必须要加双引号

-s  <字符串> 设置当前的时间和日期 #年月日使用(-)分隔,时分秒使用(:)分隔

时间格式:

# 显示时间格式: date [+指定的格式]

# 相关格式说明:
    %T:time,显示时分秒,24小时制(hh:mm:ss)

    %F:full date,显示年月日,%Y-%m-%d

# 说明:
    Y: 年
    m:月
    d:日

    H:时
    M:分
    S:秒

例如:显示年月日时分秒

# 格式:
	date "+%F %T" # 需要用双引号括起来 表示这是一个整体

root@ubuntu1804:~# date 
Tue 28 Mar 2023 11:07:08 AM CST

root@ubuntu1804:~# date +"%F"
2023-03-28

root@ubuntu1804:~# date +"%T"
11:07:18

root@ubuntu1804:~# date +"%F %T"
2023-03-28 11:07:29

只修改年月日:

date -s "20220710" 或  date -s "YYYY-MM-DD"  # 时间设置成2022年7月10日0时0分

只修改时分秒:

date -s "hh:mm:ss"

全部都改:

date -s "YYYY-YY-DD HH:mm:ss"

说明:
使用date命令修改的时间是临时生效的,重启系统后失效,需要将当前时间和硬件时间同步后才可以持久生效。

2、hwclock工具

作用: 实现时间的校对,将硬件时间和系时间进行校对。使用date手动修改了时间后,需要使用hwclock进行校对。

选项:

-s, --hctosys 	# 以硬件时钟为准,校正系统时钟

-w, --systohc 	# 以系统时钟为准,校正硬件时钟

说明: clock是hwclock的一个软链接

# centos存在clock和hwclock
    [root@Centos8 ~]# ll `which hwclock`
    -rwxr-xr-x. 1 root root 66928 Jul 22  2020 /usr/sbin/hwclock
    [root@Centos8 ~]# ll `which clock`
    lrwxrwxrwx. 1 root root 7 Jul 22  2020 /usr/sbin/clock -> hwclock

# clock是hwclock的一个软链接,ubuntu上面只有hwclock
    root@ubuntu1804:~# which clock
    root@ubuntu1804:~# which hwclock 
    /sbin/hwclock

例如:将系统时间同步到硬件时间

# 同步的时候没有任何提示
root@ubuntu1804:~# hwclock -w  
root@ubuntu1804:~# 

例如:将硬件时间同步到系统时间

# # 同步的时候没有任何提示
root@ubuntu1804:~# hwclock -s

3、timedatectl 工具

作用: timedatectl 工具可以用来更改时区也可以用来修改系统时间,一般是用来更改时区用的。

查看时区列表:

# 格式  timedatectl list-timezones 

# 例如:
    root@ubuntu1804:~# timedatectl list-timezones 
    Africa/Abidjan
    Africa/Accra
    .......

修改时区:

#   格式
	timedatectl set-timezone 时区
	
# 例如:修改时区      修改时区无任何提示
	root@ubuntu1804:~# timedatectl set-timezone Asia/Shanghai

修改日期时间:

timedatectl set-time "2017-01-23 10:30:00" # YYYY-mm-dd HH-MM-SS

开启NTP:

timedatectl set-ntp true/false

通过软链接的方式修改时区:

# 存放时区信息       /etc/timezone
	root@ubuntu1804:~# cat /etc/timezone
	Asia/Shanghai

# 修改时区影响的文件  /etc/localtime

# 例如
	root@ubuntu2004:~# rm -f /etc/localtime  #更改时区最终收到影响的文件:/etc/localtime
    root@ubuntu2004:~# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

root@ubuntu1804:~# ll  /etc/localtime
lrwxrwxrwx 1 root root 35 Mar 28 11:20 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

三:使用NTP自动同步时间

NTP(Network Time Protocol)协议,网络时间协议。利用ntp协议可以实现网络中的计算机时间同步。

1、ntpdate工具

作用: 利用时间同步服务器的时间来校准本机的时间,使用互联网上的时间同步服务器需要连接互联网

格式:

ntpdate server_host 

例如: 使用ntpdate同步时间

root@ubuntu1804:~# apt install ntpdate

root@ubuntu1804:~# date 
Tue Dec 13 15:12:07 CST 2022

root@ubuntu1804:~# date -d '-1 day'
Mon Dec 12 15:12:22 CST 2022

root@ubuntu1804:~# ntpdate ntp.aliyun.com
13 Dec 15:12:36 ntpdate[15040]: adjust time server 203.107.6.88 offset 0.002588 sec

root@ubuntu1804:~# date 
Tue Dec 13 15:12:40 CST 2022  #同步后的时间

2、ntp工具

作用: 利用时间同步服务器的时间来校准本机的时间,能持久同步时间而不是一次同步。
说明: ntp工具是客户端和服务器都是一个工具,默认作为客户端使用。

ntp作为客户端: 可以用来校准本地时间为其它ntp服务器的时间

ntp作为服务端: 用来搭建ntp时间服务器,其它主机同步本机时间

ntp的客户端工具:

  • ntpq工具: 是ntp的命令行工具,用于查询和控制 NTP 服务器,并获取与服务器时间同步的信息。
# 查看 NTP 服务器状态:显示当前计算机与所有已配置 NTP 服务器之间的时间同步状态
ntpq -p

# 查看 NTP 服务器系统状态:显示每个 NTP 服务器的系统状态信息
ntpq -c sysstat

# 查看计算机与 NTP 服务器之间的同步状态:示计算机与 NTP 服务器之间的同步状态,包括时间差和延迟等信息
ntpq -c loopstats

3、chrony工具

作用: 利用时间同步服务器的时间来校准本机的时间,能持久同步时间而不是一次同步。同步的精度和速度比ntp更快。

端口:

  • 服务端udp的123端口,如果chrony开启了客户端功能的话,会对123\udp端口进行监听。
  • 客户端监听udp的323端口,作用同上。

chrony作为客户端: 可以用来校准本地时间为其它ntp服务器的时间

chrony作为服务端: 用来搭建ntp时间服务器,其它主机同步本机时间

chrony的客户端工具:

  • chronyc工具: 用于管理和监控 NTP(网络时间协议)客户端的命令行工具
# 检查 NTP 服务器的状态:显示当前的时间误差,NTP 服务器的状态,NTP 版本号等信息。
chronyc tracking

# 查看可用的 NTP 服务器列表:查看本地计算机与 NTP 服务器之间的连接状态
chronyc sources

# 调整时钟频率:立即调整系统时钟,使其与 NTP 服务器同步
chronyc makestep

# 显示当前的活动:显示 NTP 守护进程的当前状态,例如它是否正在向其他 NTP 服务器发送请求或接收响应。
chronyc activity

四:NTP的配置

通过将一台主机搭建为时间服务器,其它局域网内的主机可以和本机的时间进行同步。

1、ntp工具

作为客户端:

只需要在配置文件中指定ntp服务器的地址就行

root@ubuntu1804:~# vim /etc/ntp.conf
pool ntp.aliyun.com iburst # iburst表示加速同步

作为服务端:
将本机时间作为标准,以此给其它主机同步时间。

# 以本机时间为准,允许所有用户进行同步
root@ubuntu1804:~# vim /etc/ntp.conf
server  127.127.1.0
fudge   127.127.1.0 stratum 10
restrict default

restrict:

  • restrict:用于限制哪些主机或网络可以与时间服务器进行通信。默认是restrict default允许所有主机同步
  • 配置restrict参数可以帮助保护时间服务器免受不必要的流量和安全攻击。
# 格式  restrict [IP] [mask] [netmask_IP] [patameter]
# 参数 
	default  # 默认参数,表示没有限制。这意味着任何客户端都可以访问该服务器并进行时间同步
	ignore   # 表示忽略所有的 NTP 请求,这意味着客户端无法与服务器进行时间同步。
    nomodify # 表示客户端无法修改服务器的时间设置
    noquery  # 表示客户端无法查询服务器的状态信息,例如版本号、偏差等。
    limited  # 表示限制客户端的访问速率,防止客户端过于频繁地请求时间同步。
	ntpport  #  指定允许访问服务器的 NTP 端口范围

# 例如:
#  允许所有客户端访问服务器 (默认)
	restrict default 

# 限制只有同一个局域网内的主机可以同步时间
	restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

# 限制来自192.168.1.0/24子网范围内的主机只能通过1234端口访问NTP服务器,而不允许使用其他端口访问。
restrict 192.168.1.0 mask 255.255.255.0 ntpport 1234”

# 限制来自 192.168.1.0/24 网段的所有主机,禁止其查询服务器,并且不信任该网段的主机。
restrict 192.168.1.0 mask 255.255.255.0 noquery notrust


# 局域网里面搭建ntp就使用这个进行限制。
    # 允许192.168.0.0网段访问时间服务器,但是不能修改时间服务器的一些配置。
        # 	modify 表示禁止客户端修改服务器的时间设置,notrap 表示禁止客户端使用 trap 操作。
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

2、chrony工具

作为客户端:
只需要使用server或pool指定ntp服务器的地址就行了。

root@ubuntu1804:~# vim /etc/chrony/chrony.conf
server ntp.aliyun.com

作为服务端:
将本机时间作为标准,其它主机的时间同步本机时间。

因为chrony默认是作为客户端使用的,即服务端的123端口默认没开,需要在配置文件中使用allow指定才会切换为服务端模式。

# 修改改配置文件
root@ubuntu1804:~# vim /etc/chrony/chrony.conf
	server 127.127.1.0             
	fudge 127.127.1.0 stratum 10   
    local stratum 10  # 使用本地硬件时钟作为时间源,并将同步级别设置为 10,表示该服务器的时间较准确
    allow 0.0.0.0/0   # 指定允许同步的网段  表示的是任何主机都可以和本机进行时间的同步
 
# fudge这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0

说明:

  • server: 用于指定单个NTP服务器
  • pool: 用于指定NTP服务器池而不是单个NTP服务器
  • iburst: 让同步时间的时候更快,开启多个并行任务来进行同步
  • prefer: 表示如果指定了多个时间服务器的情况下优先用这个
server 192.168.7.49 prefer iburst   # prefer表示如果指定了多个时间服务器的情况下优先用这个 iburst:表示加速时间同步

五:具体实现

1、 ntp

使用ntp同步ntp服务器上的时间

# 安装ntp服务
root@ubuntu1804:~# apt install ntp

# 只需要在配置文件中加入这个就行
root@ubuntu1804:~# vim /etc/ntp.conf 
	pool ntp.aliyun.com

# 查看 NTP 服务器状态
root@ubuntu1804:~# ntpq  -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp.aliyun.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000

# 查看同步后的时间
root@ubuntu1804:~# date 
Wed Mar 29 14:08:54 CST 2023

使用ntp搭建本地时间服务器

搭建好后需要等待5-10分钟才行

# 修改客户端时间用于测试
root@ubuntu1804:~# date -s "20220329"
Tue Mar 29 00:00:00 CST 2022

# 1. 修改服务端配置文件
root@ubuntu1804:~# vim /etc/ntp.conf
pool ntp.aliyun.com iburst
server 127.0.0.1 iburst
fudge  127.127.1.0 stratum 10
restrict source 10.0.0.0 mask 255.255.255.0  nomodify

# 2. 查询和显示NTP服务器的状态
root@ubuntu1804:/var/log/ntpstats# ntpstat
synchronised to local net at stratum 11 
   time correct to within 199 ms
   polling server every 64 s
   
# 查看同步信息 没带星号说明还没开始同步
root@ubuntu1804:/var/log/ntpstats# ntpq  -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 LOCAL(0)        .LOCL.          10 l   11   64   37    0.000    0.000   0.000

# 带星号说明已经开始同步
root@ubuntu1804:/var/log/ntpstats# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.          10 l   54   64  377    0.000    0.000   0.000


# 3. 客户端时间同步
root@ubuntu1804:~# ntpdate  10.0.0.22
15 Oct 00:19:27 ntpdate[3631]: no server suitable for synchronization found

# 服务端配置好后,需要等5-10分钟左右才能同步成功,否则就会出现上面的提示
root@ubuntu1804:~# ntpdate  10.0.0.22
29 Mar 17:42:59 ntpdate[3632]: step time server 10.0.0.22 offset 14318478.924123 sec

# 查看更新后的时间
root@ubuntu1804:~# date 
Wed Mar 29 16:15:44 CST 2023

linux修改时间,linux,运维,服务器,java

2、chrony工具

使用chrony同步ntp服务器上的时间

# 将本机时间修改为一个错误时间测试
root@ubuntu1804:~# date 
Tue Mar 29 00:00:55 CST 2022

# 安装服务
root@ubuntu1804:~# apt install chrony

# 修改配置文件
root@ubuntu1804:~# vim /etc/chrony/chrony.conf 
pool ntp.aliyun.com iburst

# 重启服务
root@ubuntu1804:~# systemctl restart chronyd.service 

# 查看本地计算机与NTP服务器之间的连接状态
root@ubuntu1804:~# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? 203.107.6.88                  2   6     1    31   -8775h[ -8775h] +/-   31ms

# 查看有多少个ntp源在线
root@ubuntu1804:~# chronyc activity 
200 OK
1 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

root@ubuntu1804:~# date 
Wed Mar 29 14:38:41 CST 2023

linux修改时间,linux,运维,服务器,java

使用chrony搭建本地时间服务器

# 客户端时间设置
root@ubuntu1804:~# date  -s "20220228"
Mon Feb 28 00:00:00 CST 2022

# 服务器配置
root@ubuntu1804:~# vim /etc/chrony/chrony.conf 
server 127.0.0.1 iburst
# fudge 127.127.1.0 stratum 10
local stratum 10
allow 0.0.0.0/0

# 重启服务
root@ubuntu1804:~# systemctl restart chronyd.service 

# 查看有多少个ntp源在线
root@ubuntu1804:~# chronyc activity 
200 OK
0 sources online
0 sources offline
1 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

# 显示本机时间和远程服务器同步的情况
root@ubuntu1804:~# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* localhost                    10   6   177     9    -38ns[ +535ns] +/- 1362ns

# 客户端同步时间
root@ubuntu1804:~# ntpdate 10.0.0.22
29 Mar 14:58:27 ntpdate[3607]: adjust time server 10.0.0.22 offset -0.020780 sec
root@ubuntu1804:~# date 
Wed Mar 29 14:58:29 CST 2023

linux修改时间,linux,运维,服务器,java

(51条消息) NTP服务器配置_ntp配置_Resines的博客-CSDN博客

六:Windows搭建和使用NTP服务器

1、windows搭建NTP服务器

(1)修改注册表启动NTP server

快捷键win + R 打开“运⾏”菜单,输⼊regedit打开Windows注册表
修改注册表配置,设定授权时间服务器
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config”
[AnnounceFlags]修改设定值为5

linux修改时间,linux,运维,服务器,java

修改注册表配置启动ntp服务器:

“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer”
[Enabled]数值修改为1

linux修改时间,linux,运维,服务器,java

(2)重启WindowsTime服务

# 管理员模式下cmd终端执⾏以下命令:
net stop w32time
net start w32time

linux修改时间,linux,运维,服务器,java

2、windows使用NTP服务器

(1)将WindowsTime服务设置自动启动

打开Windows系统服务(Win + R然后输⼊services.msc再回⻋),
找到Windows Time系统服务,右击更改属性,将其 "启动类型" 改为 "⾃动"。

linux修改时间,linux,运维,服务器,java

(2)指定ntp服务器的地址

⿏标右击电脑左下⻆的时间,打开:调整⽇期/时间(A)
选择添加不同时区的时钟

linux修改时间,linux,运维,服务器,java

再选择Internet时间,点击:更改设置,勾选上⼩⽅块,服务器选择上⼀步配置的IP地址,点击⽴即更新.

linux修改时间,linux,运维,服务器,java文章来源地址https://www.toymoban.com/news/detail-779219.html

到了这里,关于Linux 修改系统时间的两种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【运维】Linux安装Nginx并部署前端项目的两种方式【内 外网-保姆级教程】_linux部署前端项(1)

    1准备nginx安装包并解压 2执行以下命令,安装nginx依赖包 3编译安装nginx 4验证安装 第二种方式 1下载所需要的安装包 2安装步骤 2.1将下载的完整文件夹通过压缩包的形式,上传到你的路径下解压. 2.2 进入到gcc文件夹下,执行命令: 2.3进入到gcc-c++文件夹下,执行命令: 2.4检查

    2024年04月14日
    浏览(49)
  • 修改 Linux 系统中 22 端口的两种方法

    在进行系统运维时,有时候需要修改 Linux 系统上的某个特定端口的配置。本文将介绍两种常见的方法来修改 Linux 系统中的 22 端口(SSH 默认端口)的配置。 方法一:修改 SSH 配置文件 SSH(Secure Shell)是一种常用的远程登录协议,它通常使用 22 端口进行连接。我们可以通过修

    2024年02月04日
    浏览(31)
  • Linux 删除大量小文件的两种方案 | 运维进阶

    【摘要】 Linux如何删除大量小文件?本文介绍了两种方法。 【作者】赵靖宇 环境: RHEL 6.5 + Oracle 11.2.0.4 需求: 使用df -i巡检发现Inodes使用率过高,需要清理删除文件来解决。如果Inodes满,该目录将不能写,即使df -h查看还有剩余空间。 这是因为通配符*在执行时会替换为具体

    2024年02月08日
    浏览(37)
  • Deepin/UOS Linux 配置普通用户 sudo 权限 的两种方式

    Deepin/UOS Linux 配置普通用户 sudo 权限 的两种方式 root 用户下 配置 普通用户 sudo 权限 echo \\\"zhangsan ALL=(ALL:ALL) NOPASSWD: ALL\\\" /etc/sudoers root 用户下 配置 普通用户 到 sudo 组下 vim /etc/sudoers 修改下面这一行 改为 然后修改 /etc/group 改为 也是阔以的 我们下期见,拜拜!

    2024年02月16日
    浏览(34)
  • 【linux 多线程并发】线程本地数据存储的两种方式,每个线程可以有同名全局私有数据,以及两种方式的性能分析

    ​ 专栏内容 : 参天引擎内核架构 本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况下对故障容灾的支持。 手写数据库toadb 本专栏主要介绍如何从零开发,开发的

    2024年02月03日
    浏览(34)
  • Linux判断操作系统的两种方法

    01 :cat /etc/redhat-release 适用于:CentOS,RedHat 如图,出现CentOS ,则为CentOS系统。    02:cat /etc/issue 显示如下图,则为CentOS; 如果出现Ubuntu字样,则是Ubuntu。 ​​​​​​​  

    2024年02月05日
    浏览(28)
  • 关于部署vue项目在Linux上的两种方式tomcat以及nignx(1)使用tomcat进行部署

    阿丹有话说:         之前在写spring-boot项目的时候是直接写的jsp页面直接打成war包来运行。使用到了tomcat,而且简单方便,但是美中不足就是动画演示以及页面没有办法做的非常美观。自从开始写前后端分离的项目(微服务等)之后,发现element-ui是真的好用。现在想给vue的

    2024年02月03日
    浏览(43)
  • 关于部署vue项目在Linux上的两种方式tomcat以及nignx(3)使用nignx进行部署

    阿丹有话说:         前两篇文章主要讲解了将vue中tomcat部署研究了。解决了在后台代码中通过过滤器来解决跨域问题。后期会继续出在tomcat中的代理配置等。本篇文章来将vue项目部署在nignx上,并且通过反向代理来解决跨域请求以及请求转发。  首先我们再来了解一下ngi

    2024年02月04日
    浏览(44)
  • VMware中Ubuntu拓展磁盘容量的两种方式 &图形化方式&命令行磁盘分区方式(亲测有效&简单且详细)&linux磁盘分区

    在用VMware虚拟机的情况下,一开始分配的容量在使用过程中,出现不够的情况。针对这种情况,如何拓展磁盘容量? 下面整理归纳了两种方式进行拓展。一种是Ubuntu自带的磁盘工具,另一种是命令行方式的磁盘分区方式。同时满足不同扩容需求,这里也进行了扩容方式的拓展

    2024年02月14日
    浏览(31)
  • C++ 实现定时器的两种方法(线程定时和时间轮算法修改版)

    定时器要求在固定的时间异步执行一个操作,比如boost库中的boost::asio::deadline_timer,以及MFC中的定时器。也可以利用c++11的thread, mutex, condition_variable 来实现一个定时器。 1、使用C++11中的thread, mutex, condition_variable来实现一个定时器。 注:此算法会每一个任务创建一个线程,不推

    2024年02月05日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包