CentOS 7系统中进行时间/时区设置

CentOS 7系统中进行时间/时区设置

在CentOS 7系统中,传统的date命令被timedatectl命令替代,该命令作为systemd系统和服务管理器的核心组件,可实现系统时钟、时区的查询与修改,还能完成与远程NTP服务器的自动时间同步,是管理系统时间的首选工具。保持系统时间准确,既能保障定时任务按预期执行,也能让系统日志、事件记录拥有精准的时间戳,对系统运维至关重要。本文将详细介绍CentOS 7中通过timedatectl命令完成时间、时区、硬件时钟配置及NTP时间同步的操作方法。

一、时区的查询与设置

时区是系统时间的基础配置,CentOS 7通过timedatectl可灵活查询、筛选并设置时区,需注意时区名称必须输入准确,否则会配置失败。

  1. 查看当前系统时区
    直接执行timedatectl命令即可查看完整的时间相关信息,包含当前时区;也可通过过滤命令精准提取时区信息,两条命令任选其一:

    bash 复制代码
    timedatectl
    bash 复制代码
    timedatectl | grep Time
  2. 查看所有可用时区
    执行以下命令可列出系统支持的所有时区,方便根据地理位置选择:

    bash 复制代码
    timedatectl list-timezones
  3. 按地理位置筛选时区
    若需快速找到指定区域的时区,可结合egrep过滤,以亚洲、欧洲、美洲为例:

    bash 复制代码
    # 筛选亚洲部分时区
    timedatectl list-timezones | egrep -o "Asia/B.*"
    # 筛选欧洲部分时区
    timedatectl list-timezones | egrep -o "Europe/L.*"
    # 筛选美洲部分时区
    timedatectl list-timezones | egrep -o "America/N.*"
  4. 设置系统时区
    使用set-timezone参数搭配时区名称即可完成设置,国内推荐设置为上海时区 ,也可根据需求设置UTC协调世界时,示例如下:

    bash 复制代码
    # 设置为中国上海时区
    timedatectl set-timezone "Asia/Shanghai"
    # 设置为UTC协调世界时
    timedatectl set-timezone UTC

二、系统时间与日期的设置

timedatectlset-time参数可单独设置时间、单独设置日期,也可同时设置日期和时间,时间格式为HH:MM:SS,日期格式支持YYYYMMDDYYYY-MM-DD

  1. 仅设置系统时间
    命令后直接跟随小时:分钟:秒格式的时间即可:

    bash 复制代码
    timedatectl set-time 15:58:30
  2. 仅设置系统日期
    命令后跟随年月份连续的日期格式即可:

    bash 复制代码
    timedatectl set-time 20251120
  3. 同时设置日期和时间
    将时间和日期用单引号包裹,中间用空格分隔,推荐使用YYYY-MM-DD的日期格式更易读:

    bash 复制代码
    timedatectl set-time '16:10:40 2025-11-20'

三、硬件时钟的配置

硬件时钟(RTC time)是主板上的时钟,独立于系统运行,CentOS 7可通过timedatectl设置硬件时钟为本地时区或UTC协调世界时,推荐设置为UTC,避免系统时区切换时出现时间偏差。

  1. 查看硬件时钟当前配置
    通过过滤命令查看硬件时钟是否为本地时区:

    bash 复制代码
    timedatectl | grep local
  2. 设置硬件时钟为本地时区
    使用set-local-rtc参数搭配1,代表开启本地时区模式:

    bash 复制代码
    timedatectl set-local-rtc 1
  3. 设置硬件时钟为UTC协调世界时
    使用set-local-rtc参数搭配0,代表开启UTC模式,为推荐配置:

    bash 复制代码
    timedatectl set-local-rtc 0

四、NTP远程时间同步

NTP(网络时间协议)可实现系统时钟与远程标准时间服务器的自动同步,从根本上保证系统时间的准确性。CentOS 7的timedatectl可直接控制NTP同步功能,前提是系统已安装NTP相关组件

  1. 开启NTP自动时间同步
    执行以下命令启用NTP同步,系统将自动连接远程NTP服务器校准时间:

    bash 复制代码
    timedatectl set-ntp true
  2. 禁用NTP自动时间同步
    若需手动管理系统时间,可关闭NTP同步功能:

    bash 复制代码
    timedatectl set-ntp false

五、查看系统时间与时钟完整状态

执行timedatectl status命令可查看系统的完整时间配置信息,包含当前时间、时区、硬件时钟、NTP同步状态等,方便验证各项配置是否生效:

bash 复制代码
timedatectl status
相关推荐
2401_873479409 分钟前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩17 分钟前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
charlie11451419138 分钟前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
handler0140 分钟前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy1131 小时前
Linux进程与线程编程详解
linux·c++
我星期八休息1 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
切糕师学AI1 小时前
深入解析 Zsh 与 Oh-My-Zsh:打造高效现代化终端
linux·终端·zsh
切糕师学AI2 小时前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
日取其半万世不竭3 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器
优化Henry3 小时前
TDD-LTE站点Rilink=3链路故障处理案例---BBU侧C口“有发光、无收光”的排查与恢复
运维·网络·信息与通信·tdd