由于某应用系统的注册码过期,打算通过修改系统时间,临时使用该系统。我写了一个脚本,将系统时间修改为 2021 年 6 月 30 日,代码如下:
#!/bin/sh
# 作者:靑龍一笑(C.S.Ricen)
# 功能:调整时间为指定日期
# 指定日期
curDate="2021-06-30"
# 获取当前时间
curTime=`date "+%H:%M:%S"`
# 改变日期为指定日期,保留当前时间不变
hwclock --set --date "$curDate $curTime"
hwclock --hctosys
# 检验当前时间
curTime=`date "+%Y-%m-%d %H:%M:%S"`
echo $curTime
脚本执行完,发现系统时间立马被还原了。首先想到的是检查是否存在 ntpd 和 chronyd 这两个时间同步的服务,结果并没有。由于 linux 系统是安装在虚拟机里,检查虚拟机设置里的时间同步,发现也没有开启。
最后,检查 /usr/lib/systemd/system 目录下的服务名,发现了一个名为 systemd-timesyncd.service 的文件。
查看该服务的状态:
发现服务处于运行状态。
首先,关闭 ntp:
重启 systemd-timesyncd 服务:
[root@RicenOS softwares]# systemctl restart systemd-timesyncd
这一步是为了让关闭 ntp 生效。当然,此时,systemd-timesyncd 服务也可以停了:
取消此服务的开机启动:
重新执行修改时间的脚本:
此时,时间不会再被还原了。
Copyright © 2005-2023 by www.ricensoftwares.com.cn All Rights Reserved.