Quarter

一个还没怎么睡醒的前端开发

Linux 设置时间同步

默认分类 0 评

修改系统时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置时间同步

一、半自动

半自动设置需要额外的工具,这里需要使用命令安装:

yum -y install ntp

作为小白,可以不管这是个啥,只需要知道这玩意儿装了以后能做什么:可以运行一行命令把机器的日期时间设置完毕。

做这步之前需要找一台提供标准时间的服务器(NTP服务器),因为是阿里云的服务器,这里用的也是他家的:

ntpdate -u ntp5.aliyun.com

上面命令中,ntp5.aliyun.com 是一台NTP服务器地址,-u 参数最好加上,否则容易出问题:

17 Sep 21:50:16 ntpdate[13689]: the NTP socket is in use, exiting

正确的响应例子:

17 Sep 21:59:47 ntpdate[13697]: step time server 203.107.6.88 offset 545.042721 sec

二、全自动

这里说的全自动就是让机器定时执行上面半自动的命令。不得不了解一下 crontab 命令。使用这个命令,你可以指定以何种周期执行想要执行的命令。

比如:

*/10 * * * * /usr/sbin/ntpdate -u ntp5.aliyun.com > /dev/null 2>&1

这个命令每隔10分钟和指定的NTP服务器进行一次时间校验。

以上命令不是在命令行直接调用,而是需要保存在一个文件中,通过
crontab 命令去执行其中的内容。

默认会有一个文件存储当前用户的定时任务信息,通过以下命令查看:

crontab -l

如果没有任何内容则显示如下:

no crontab for root

下面我们把上面定时更新的定时任务添加上:

crontab -e

这个命令执行后进入到了 vim 界面,通过 vim 命令,把上面的内容粘贴进去就好,保存后退出,再次查看定时任务列表,得到:

*/10 * * * * /usr/sbin/ntpdate -u  ntp5.aliyun.com

定时任务是否执行了呢?可以进行一下测试,通过date命令设置一个新的时间,偏离标准时间。等待一个定时任务执行周期,这里也就是10分钟,再次查看系统时间。如果时间恢复到标准时间,则定时任务执行了,目标达成。如果测试没通过,可能需要查看一下crond的服务状态,使用命令:

service crond status

对于不方便简单测试的定时任务可以通过下列命令查看执行情况:

tail -f /var/log/cron
让 Docker 向 UFW 低头