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
  • 离线安装:

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
07-31 15:31