Linux 时间管理
文章目录Linux 时间管理系统时间设置date 命令hwclock 命令timedatectl 命令tzselect 命令windows 自动对时自动对时-chronyd 服务补充vim 高级用法部署时间服务器服务端客户端Linux 时间管理系统时间设置date 命令# 设置语言为英语[rootserver ~13:27:02]# LANGen_US.utf8 dateFri Jul2413:28:02 CST2026# 中文语言代码为zh_CN.utf-8# 设置为特定时间时间字符串必须是英文格式[rootcentos7 ~]# date -s 2022年 11月 11日 星期四 11:30:10 CSTdate: 无效的日期2022年 11月 11日 星期四 11:30:10 CST[rootserver ~13:28:02]# date -s Thu Nov 11 11:30:59 CST 2022Fri Nov1111:30:59 CST2022hwclock 命令# 读取硬件时钟[rootserver ~13:50:26]# hwclock -rFri24Jul202601:56:16 PM CST-0.942963seconds# 将硬件时钟时间设置与系统时间一致[rootserver ~13:56:16]# hwclock -w# 将系统时间设置与硬件时钟时间一致[rootserver ~13:56:34]# hwclock -stimedatectl 命令[rootserver ~13:56:42]# timedatectlLocal time: Fri2026-07-2413:57:27 CST Universal time: Fri2026-07-24 05:57:27 UTC RTC time: Fri2026-07-24 05:57:27 Time zone: Asia/Shanghai(CST, 0800)NTP enabled:yesNTP synchronized: no RTCinlocalTZ: no DST active: n/a# RTC real time clock也就是硬件时钟时间。# NTP enabled: yes代表对时服务chronyd应开机自启。# 关闭自动对时[rootcentos7 ~]# timedatectl set-ntp no[rootserver ~11:37:51]# timedatectlLocal time: Fri2026-07-2411:37:57 CST Universal time: Fri2026-07-24 03:37:57 UTC RTC time: Fri2026-07-24 03:37:57 Time zone: Asia/Shanghai(CST, 0800)NTP enabled: no NTP synchronized: no RTCinlocalTZ: no DST active: n/a[rootcentos7 ~]# timedatectl set-time 2026-7-24 11:42:54# 如果自动对时未关闭显示如下[rootserver ~11:32:20]# timedatectl set-time 2026-7-24 11:42:54Failed tosettime: Automatictimesynchronization is enabled# 设置时区[rootcentos7 ~]# timedatectl set-timezone Asia/Shanghaitzselect 命令查询时区名称。[rootserver ~13:41:53]# tzselectPlease identify a location so thattimezone rules can besetcorrectly. Pleaseselecta continent or ocean.1)Africa2)Americas3)Antarctica4)Arctic Ocean5)Asia6)Atlantic Ocean7)Australia8)Europe9)Indian Ocean10)Pacific Ocean11)none - I want to specify thetimezone using the Posix TZ format.#? 5Pleaseselecta country.1)Afghanistan18)Israel35)Palestine2)Armenia19)Japan36)Philippines3)Azerbaijan20)Jordan37)Qatar4)Bahrain21)Kazakhstan38)Russia5)Bangladesh22)Korea(North)39)Saudi Arabia6)Bhutan23)Korea(South)40)Singapore7)Brunei24)Kuwait41)Sri Lanka8)Cambodia25)Kyrgyzstan42)Syria9)China26)Laos43)Taiwan10)Cyprus27)Lebanon44)Tajikistan11)East Timor28)Macau45)Thailand12)Georgia29)Malaysia46)Turkmenistan13)Hong Kong30)Mongolia47)United Arab Emirates14)India31)Myanmar(Burma)48)Uzbekistan15)Indonesia32)Nepal49)Vietnam16)Iran33)Oman50)Yemen17)Iraq34)Pakistan#? 9Pleaseselectone of the followingtimezone regions.1)Beijing Time2)Xinjiang Time#? 1The following information has been given: China Beijing Time ThereforeTZAsia/Shanghaiwill be used. Localtimeis now: Fri Jul2413:47:41 CST2026. Universal Time is now: Fri Jul2405:47:41 UTC2026. Is the above information OK?1)Yes2)No#? 1You canmakethis change permanentforyourself by appending the lineTZAsia/Shanghai;exportTZ to thefile.profileinyour home directory;thenlog out and loginagain. Here is that TZ value again, thistimeon standard output so that you can use the /bin/tzselectcommandinshell scripts: Asia/Shanghaiwindows 自动对时自动对时-chronyd 服务# 安装软件包[rootcentos7 ~]# yum install chrony# 修改对时服务器[rootcentos7 ~]# vim /etc/chrony.conf# 与时间池对时# 时间池是包含多个时间服务器的服务器组pool2.rocky.pool.ntp.org iburst# 与单个服务器 ntp.aliyun.com 对时server ntp.aliyun.com iburst# 启用并启动chronyd服务[rootcentos7 ~]# systemctl enable chronyd --now# 如果之前已经启动需要重启[rootcentos7 ~]# systemctl restart chronyd# 验证对时情况[rootcentos7 ~]# chronyc sources -v.-- Source mode^server,peer,#localclock. / .- Source state*current best,combined,-not combined,|/xmay beinerror,~too variable,?unusable.||.- xxxx[yyyy]/- zzzz||Reachability register(octal)-.|xxxxadjusted offset,||Log2(Polling interval)--.||yyyymeasured offset,||\||zzzzestimated error.||||\MS Name/IP address Stratum Poll Reach LastRx Last sample^*203.107.6.8826779-1840us[-4378us]/- 23ms补充vim 高级用法vim 高级用法可视化模式 功能1批量增加内容例如注释多行内容光标定位到目标位置ctrlv向下移动光标按需选中多行I 进行插入写入#esc功能2列删除例如批量解除注释 1. 光标定位到目标位置ctrlv 2. 向下移动光标按需选中多行 3. x或d功能3列复制并粘贴例如批量增加主机名后缀 1. 光标定位到目标位置ctrlv 2. 向下移动光标可以上下左右同时移动选冲矩形块按需选中 3. y复制 4. 光标定位到目标位置p粘贴部署时间服务器chrony 既可以作为客户端也可以作为服务端为客户端提供对时服务。服务端[rootserver ~]# vim /etc/chrony.conf# 最后添加两条记录# 配置监听地址bindaddress10.1.8.10# 配置允许哪些网段主机同步allow10.1.8.0/24[rootserver ~]# systemctl restart chronyd# 停止防火墙服务[rootserver ~]# systemctl stop firewalld.service必须确保服务端时间准确性和有效性客户端# 修改对时服务器[rootclient ~]# vim /etc/chrony.conf# 与单个服务器 10.1.8.10 对时server10.1.8.10 iburst[rootclient ~]# systemctl restart chronyd[rootclient ~13:40:02]# chronyc sources -v210Number of sources5.-- Source mode^server,peer,#localclock. / .- Source state*current synced,combined ,-not combined,|/?unreachable,xtimemay beinerror,~timetoo variable.||.- xxxx[yyyy]/- zzzz||Reachability register(octal)-.|xxxxadjusted offset,||Log2(Polling interval)--.||yyyymeasured offset,||\||zzzzestimated error.||||\MS Name/IP address Stratum Poll Reach LastRx Last sample^* server.myz.cloud461702937us[-77us]/- 260ms ^? ntp1.flashdance.cx060- 0ns[0ns]/- 0ns ^111.230.189.1742671-998us[-4012us]/- 49ms ^? a.chl.la267217ms[19ms]/- 107ms ^? ntp.wdc2.us.leaseweb.net3651-6707us[-4960us]/- 114ms#验证设置错误时间[rootclient ~13:40:55]# sudo date -s Fri Jul 24 13:20:00 CST 2026Fri Jul2413:20:00 CST2026#再次重启[rootclient ~13:20:02]# systemctl restart chronyd#时间为正确时间[rootclient ~13:41:42]# dateFri Jul2413:41:44 CST2026/- 114ms#验证设置错误时间[rootclient ~13:40:55]# sudo date -s Fri Jul 24 13:20:00 CST 2026Fri Jul2413:20:00 CST2026#再次重启[rootclient ~13:20:02]# systemctl restart chronyd#时间为正确时间[rootclient ~13:41:42]# dateFri Jul2413:41:44 CST2026