1.date / timedatectl
- 显示当前时间(秒):
date
/date +"%Y-%m-%d %H:%M:%S"
(%Y等含义通过data --h查看) - 显示当前时间(毫秒):
date
/date +"%Y-%m-%d %H:%M:%S.%3N"
- 当前时间戳(秒):
date +%s
- 当前时间戳(毫秒):
date +%s%3N
- 查看当前时区:
timedatectl
- 设置时区:
timedatectl set-timezone Asia/Shanghai
, 是永久更新, 重启不会改变 - 修改时间:
date -s "2023-07-31 14:34:49.889"
支持毫秒timedatectl set-time "2023-07-31 14:34:49"
不支持毫秒
2.ntp
ntp相关的有ntp(服务器和客户端都可使用)和ntpdate(客户端同步指令)
2.1 准备
- 检查是否存在:
rpm -qa | grep ntp
- 卸载:
yum remove -y ntp
/yum remove -y ntpdate
(有哪个卸载哪个)
2.2 安装
yum -y
可以自动回答所有确认指示
- 在线安装:
yum install -y ntp
yum install -y ntpdate
- 离线安装:
- 下载(ntp和ntpdate): https://codor.lanzoue.com/b01388aab 密码:ntp
- 可能需要:
autogen-libopts-5.18-5.el7.x86_64.rpm
, 在上面这个连接中 - 基础编译包和openssl等: https://codor.lanzoue.com/b012tlula 密码:f0qy
- 单独安装:
rpm -ivh autogen-libopts-5.18-5.el7.x86_64.rpm
- 批量安装:
rpm -ivh *.rpm --nodeps --force
2.3 配置
- 服务开机自启:
systemctl enable ntpd
- 防火墙放行:
- 放行:
firewall-cmd --add-service=ntp --permanent
- 重载:
firewall-cmd --reload
- 放行:
- 配置文件备份:
cp /etc/ntp.conf /etc/ntp.con.bak
- 服务端配置文件:
# 允许ipv4和ipv6查询, 不允许更改 restrict -4 default kod nomodify notrap restrict -6 default kod nomodify notrap # 时间来源为本地 # server 0.centos.pool.ntp.org iburst # server 1.centos.pool.ntp.org iburst # server 2.centos.pool.ntp.org iburst # server 3.centos.pool.ntp.org iburst server 127.127.1.0 fudge 127.127.1.0 stratum 10 # 注释掉, 意思是只允许本地 # restrict 127.0.0.1 # restrict ::1 # 如果要指定连接规则 # restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap # 禁用时间同步间隔限制 tinker panic 0
- 客户端配置文件:
### 启动时候会尽快刷新时间, 之后默认64s同步一次 server 192.168.0.222 ibrust ## 同步间隔配置 # server 192.168.0.222 minpoll 6 maxpoll 10 # 禁用时间同步间隔限制 tinker panic 0
- 重启服务:
systemctl restart ntpd
- win客户端连接:
win+r
, 输入timedate.cpl
回车- 选择
Internet时间
- 更改设置
- 填入服务器ip/域名
- 立即更新
- 参考:
2.4 相关指令(见参考)
ntpdate
:用于手动设置系统时间。它可以从 NTP 服务器获取当前时间并将其设置为系统时间。ntpd
:是 NTP 守护进程,用于自动同步本地系统时间与远程 NTP服务器的时间。它提供了更准确和稳定的时间同步机制,并能够自动调整本地时钟以避免时间漂移。ntpq
:用于查询和监控 NTP 服务器的状态和性能。它可以显示远程 NTP 服务器列表及其状态,以及本地 NTP 服务器的状态和性能。ntpstat
:用于显示 NTP 守护进程的同步状态。它可以告诉你系统是否与 NTP服务器同步,并且如果不同步,它提供了一些调试信息来帮助你找出问题所在。
如果在server 192.168.0.222 ibrust
中配置了ibrust
在重启ntpd之后会这里看到的是很短的时间(大概3-8秒)获取时间, 等误差内了会回复默认的64秒- 参考: https://cloud.tencent.com/developer/article/1409667