Linux下时间管理相关概念及工具。
时间有关基本概念
时间标准
标准 | 全称 | 含义 |
---|---|---|
UTC | 通用协调时间(Universal Time Coordinated) | 全球分为24个时区,每个时区有自己的本地时间 |
GMT | 格林威治标准时间(Greenwich Mean Time) | 与UTC基本相同 |
CST | 中国标准时间(China Standard Time) | CST = UTC + 8 = GMT + 8 |
DST | 夏令时(Daylight Saving Time) | 在夏天日出较早的时候调整时间快一小时,中国不使用 |
硬件时间和系统时间
硬件时间:RTC (Real-Time Clock) 或CMOS时间,一般在主板上靠电池供电,计算机断电后也会继续运行,仅保存日期时间数值,不保存时区和夏令时。
系统时间:一般在计算机启动时复制RTC时间,之后做一些处理,保存时间、时区和夏令时设置。
时间管理工具 timedatectl
显示系统的当前时间和日期:
$ timedatectl |
设置日期与时间
timedatectl set-time "YYYY-MM-DD HH:MM:SS" |
如果出现如下错误,则需要关闭ntp(后面提到)
Failed to set time: Automatic time synchronization is enabled |
查看所有可用时区
$ timedatectl list-timezones |
设置时区
timedatectl set-timezone Asia/Shanghai |
设置硬件时间,硬件时间默认为UTC
timedatectl set-local-rtc 1 |
启用时间同步
timedatectl set-ntp yes |
Chrony服务
Chrony
是网络时间协议 (Network Time Protocal, NTP) 的一种实现,由两个程序组成,分别是chronyd
和chronyc
。
chronyd
是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。chronyc
提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
安装 Chrony
CentOS:
yum install chrony |
Ubuntu:
apt install chrony |
例子
CentOS设置系统时间为中国时区并启用时间同步
# 安装 Chrony |