【Linux】硬件时钟, 系统时钟, 网络时钟, 时区修改和同步

【Linux】硬件时钟, 系统时钟, 网络时钟, 时区修改和同步

基础认识

操作系统的时间(时钟)由以下4个部分决定:

  • 时间数值
  • 时间标准(本地时间/UTC/其他)
  • 时区
  • 夏令时(DST,Daylight Saving Time,部分适用,中国已经废止)

操作系统有两个时钟,分别是硬件时钟和系统时钟,大多数操作系统的时钟管理方式如下:

硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。

系统时钟则是指kernel中的时钟。

  • 启动时根据硬件时钟设置系统时钟
  • 维护准确的系统时钟
  • 关机时根据系统时钟设置硬件时钟

常用命令

查看和修改Linux的时区

常见时区

(1)UTC 整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。

(2)GMT 格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的×××格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)

(3)CST 中国标准时间 (China Standard Time)

GMT + 8 = UTC + 8 = CST

(4)DST夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用。(中国不使用)

查看当前时区
命令 : timedatectl
修改设置Linux服务器时区
timedatectl set-timezone Asia/Shanghai
timedatectl
               Local time: 三 2021-09-15 10:04:05 CST
           Universal time: 三 2021-09-15 02:04:05 UTC
                 RTC time: 三 2021-09-15 02:04:05
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
timedatectl
timedatectl --help
timedatectl [OPTIONS...] COMMAND ...

Query or change system time and date settings.

  -h --help                Show this help message
     --version             Show package version
     --no-pager            Do not pipe output into a pager
     --no-ask-password     Do not prompt for password
  -H --host=[USER@]HOST    Operate on remote host
  -M --machine=CONTAINER   Operate on local container
     --adjust-system-clock Adjust system clock when changing local RTC mode
     --monitor             Monitor status of systemd-timesyncd
  -p --property=NAME       Show only properties by this name
  -a --all                 Show all properties, including empty ones
     --value               When showing properties, only print the value

Commands:
  status                   Show current time settings
  show                     Show properties of systemd-timedated
  set-time TIME            Set system time
  set-timezone ZONE        Set system time zone
  list-timezones           Show known time zones
  set-local-rtc BOOL       Control whether RTC is in local time
  set-ntp BOOL             Enable or disable network time synchronization

systemd-timesyncd Commands:
  timesync-status          Show status of systemd-timesyncd
  show-timesync            Show properties of systemd-timesyncd

list-timezones 列出系统上支持的时区
set-timezone 设定时区
set-time 设置时间
set-btp 设置同步ntp

时钟同步

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

hwclock --hctosys 或者 clock --hctosys

hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟

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

hwclock --systohc或者clock --systohc

即用系统时钟同步硬件时钟

同步网络时间

同步互联网时间

ntpdate -u cn.pool.ntp.org
hwclock命令

Linux hwclock命令用于显示与设定硬件时钟。

在Linux中有硬件时钟与系统时钟等两种时钟。

硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。

系统时钟则是指kernel中的时钟。

当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

语法

hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=<日期与时间>]

参数:

  • –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
  • –debug  显示hwclock执行时详细的信息。
  • –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
  • –hctosys  将系统时钟调整为与目前的硬件时钟一致。
  • –set --date=<日期与时间>  设定硬件时钟。
  • –show  显示硬件时钟的时间与日期。
  • –systohc  将硬件时钟调整为与目前的系统时钟一致。
  • –test  仅测试程序,而不会实际更改硬件时钟。
  • –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
  • –version  显示版本信息。

查看和修改Linux的时间

查看时间和日期

命令 :

 "date"
设置时间和日期

例如:将系统日期设定成2009年11月3日的命令

命令 :

 "date -s 11/03/2009"

将系统时间设定成下午5点55分55秒的命令

命令 :

 "date -s 17:55:55"

将当前时间和日期写入BIOS,避免重启后失效
命令 :

 "hwclock -w"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值