「Linux」- 进行时间校准

为什么每次开机之后,时间都是准确的,不会因为断电而时间不准确了?因为电脑上是有电池的,即使是台式机,主板上也有一颗纽扣电池,该电池是给CMOS模块供电的,而时间和配置相关的信息都保存在CMOS中。但如果电池没电了,或者时间不准确了,想校准时间怎么办?这篇文章会回答这个问题。

使用nptdate命令将系统时间与网络时间同步

ntpdate
如果有网络的话,推荐的做法是使用NTP Server来同步时间。

首先,查找可用的NTP Server
可以在ntp的「Server Pool Project」中查找国内的NTP Server列表,如下(08/10/2017):

server 0.asia.pool.ntp.org

server 1.asia.pool.ntp.org

server 2.asia.pool.ntp.org

server 3.asia.pool.ntp.org

然后,使用ntpupdate来更新时间

ntpdate 0.asia.pool.ntp.org

关于NTP Server的更多细节,查看另外一篇文章“NTP Server”

手动设置系统时间

date
命令date(1)用于打印和设置系统时间。支持以指定的日期格式来打印。但这里介绍的主要内容为使用date(1)命令来设置时间。
date中的-s选项可以用来设置时间,比如:date -s “2015/03/30 12:34:16”
关于date命令的更多使用细节,参见date(1)手册。

hwclock
命令 date 只能设置系统时间,而修改硬件时间需要使用 hwclock 命令。
hwclock -w 可以将当前的系统时间写入CMOS中。
关于 hwclock 命令命令的更多细节,查看 hwclock(8) 手册。

参考文献

LFS:http://www.linuxfromscratch.org/blfs/view/stable/basicnet/ntp.html
vbird:http://linux.vbird.org/linux_server/0440ntp.php
NTP Homepage:http://linux.vbird.org/linux_server/0440ntp.php
wiki:https://en.wikipedia.org/wiki/Network_Time_Protocol