归档Linux服务器如何进行时间校对?发表于-09-24分类于运维本文介绍了在linux环境下,4种校对时间的方式,精度和自动化程度逐渐加强,总有一款适合你。背景计算机时间不是精确的时间,服务器环境对时间有不同程度的精度要求,需要校验。
4种校验方法纯手工:手工校验不精确半自动:通过工具比照时间服务器进行校验全自动:无需人工干预自行进行时间校验平滑全自动:全自动校验而且服务器时间连贯不产生跳跃详细介绍纯手工使用date命令,一般系统时间相差不会太多,如果你不严格要求时间精度,这个命令足够了。
Tue,17Sep:27:56 时区一般不会错,不过在改时间之前最好确认时区。
年09月17日星期二21:50:00CST修改日期date-s"2:04:00"得到响应:
年09月17日星期二22:04:00CST以上操作简单,但是还有繁琐的日期和时间的设置,接下来看看更方便的。
yum-yinstallntp作为小白,可以不管这是个啥,只需要知道这玩意儿装了以后能做什么:可以运行一行命令把机器的日期时间设置完毕。
做这步之前需要找一台提供标准时间的服务器(NTP服务器),因为是阿里云的服务器,这里用的也是他家的:
17Sep21:50:16ntpdate[]:theNTPsocketisinuse,exiting正确的响应例子:
17Sep21:59:47ntpdate[]:steptimeserver203.107.6.88offset545.sec全自动这里说的全自动就是让机器定时执行上面半自动的命令。不得不了解一下crontab命令。使用这个命令,你可以指定以何种周期执行想要执行的命令。这里有一张图能直观说明:
*/10****/usr/sbin/这个命令每隔10分钟和指定的NTP服务器进行一次时间校验。
以上命令不是在命令行直接调用,而是需要保存在一个文件中,通过crontab命令去执行其中的内容。
crontab-e这个命令执行后进入到了vim界面,通过vim命令,把上面的内容粘贴进去就好,保存后退出,再次查看定时任务列表,得到:
*/10****/usr/sbin/定时任务是否执行了呢?可以进行一下测试,通过date命令设置一个新的时间,偏离标准时间。等待一个定时任务执行周期,这里也就是10分钟,再次查看系统时间。如果时间恢复到标准时间,则定时任务执行了,目标达成。如果测试没通过,可能需要查看一下crond的服务状态,使用命令:
servicecrondstatus对于不方便简单测试的定时任务可以通过下列命令查看执行情况:
tail-f/var/log/cron平滑全自动使用ntpd服务,因为没有需求,本人未做尝试,参见最末参考内容。