从Centos7 开始,新增了一条时间查询命令:timedatectl
[root@c2 ~]# timedatectl Local time: Sat 2019-11-30 10:29:58 CST Universal time: Sat 2019-11-30 02:29:58 UTC RTC time: Sat 2019-11-30 02:29:55 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a
下面对系统日期常见的操作进行介绍:
硬件时间:RTC 或COMS时间,在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。
系统时间:一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。
#timedatectl set-time "YYYY-MM-DD HH:MM:SS" #设置本地时间 timedatectl list-timezones | grep -E "Asia/S.*" timedatectl set-timezone Asia/Shanghai #查看所有时区和设置时区 timedatectl set-local-rtc 1 #RTC时间同步成本地时间一致 timedatectl set-ntp yes #启动自动同步
Chrony服务
Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确。它由两个程序组成:chronyd和chronyc。
Chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
Chrony 是网络时间协议的另一种实现,与网络时间协议后台程序(ntpd)不同,它可以更快地且准确的同步系统时钟。
两种使用方法:
1.本地搭建chrony服务器+所有客户端同步服务器时间
2.同步公网NTP服务时间
一:本地搭建chrony服务器+所有客户端同步服务器时间
1.服务器端:
安装并启用:记得设置开机启动
yum install -y chrony systemctl start chronyd systemctl enable chronyd
或者
yum install -y ntp
systemctl start ntpd
systemctl enable ntpd
修改配置文件:
vim /etc/chrony.conf
server ntp1.aliyun.com
server time1.aliyun.com
我们修改这一条就可以,其他配置参数自行百度。
2.客户端:
yum install -y chrony systemctl start chronyd systemctl enable chronyd
同理安装nt
修改配置文件:
vim /etc/chrony.conf
server chrony服务器IP iburst
我们修改这一条就可以,其他配置参数自行百度。
或者 vim /etc/ntp.conf
server 10.20.2.123 iburs
# chronyc sources 查询时间同步信息源
#systemctl restart chronyd
#timedatectl
#timedatectl set-local-rtc 1
二.同步公网NTP服务时间
yum install -y chrony #安装
systemctl start chronyd #启用
systemctl enable chronyd #开机启动
timedatectl set-timezone Asia/Shanghai #修改本地时区
timedatectl set-local-rtc 1
#RTC跟本地时间同步
timedatectl set-ntp yes
#启动ntp
systemctl restart ntpd
#重启ntp
[root@wiki ~]# timedatectl
Local time: Sat 2020-02-29 10:15:59 CST 本地时间
Universal time: Sat 2020-02-29 02:15:59 UTC 国际时间
RTC time: Sat 2020-02-29 10:15:59 RTC时间
Time zone: Asia/Shanghai (CST, +0800) 时区
NTP enabled: yes NTP是否启动
NTP synchronized: no NTP同步
RTC in local TZ: yes RTC 同步到本地时间
DST active: n/a
# timedatectl set-local-rtc 1 #RTC跟本地时间同步,如果设置好不生效,则同步国际时间再同步本地时间试下 # timedatectl set-local-rtc 0 #RTC跟国际通用时间同步