Linux系统同步系统时间为北京时间
系统版本:Debian GNU/Linux 8
PS:查看系统版本命令,此命令也适用于所有的Linux发行版
cat /etc/issue
近期遇到一个问题,linux服务器时间与北京时间相差了几分钟,网上查找资料,过程很是曲折,始终无法同步服务器时间。
好在最后成功解决,个人感觉解决的都有点莫名。特此记录解决过程,以便留作后续备用,也供大家参考,过程中没有截图,大家看文字自行脑补。
1、发现时间异常
date -R #查看系统时间
2、安装时间同步工具ntpdate
apt-get update #更新软件源中的所有软件列表
apt-get install ntpdate #安装ntpdate时间同步工具
3、设置时区并同步北京时间
dpkg-reconfigure tzdata #设置时区,时区选择'Asia/Shanghai'
ntpdate ntp1.aliyun.com #同步时间命令
遇到会报错
root@localhost:~# ntpdate ntp1.aliyun.com
15 Sep 10:43:04 ntpdate[2636]: no server suitable for synchronization found
最初想解决这个报错,但是花了很久,找了网上很多教程,仍然没有成功,最终让我发现新大陆。。。继续!
4、查看硬件时间与系统时间
查看硬件时间(bios)
hwclock --show
查看系统时间
date -R
发现硬件时间变已变为准确时间,但是系统时间依旧错误,所以当时想是不是有方法,能够将硬件时间同步到系统时间?
百度之后果然存在这样的骚操作!
5、同步系统时间为正确时间
将硬件时间写入到系统时间:
hwclock -s
另外也可以将系统时间写入到硬件时间:
hwclock -w
就此,问题解决
6、总结
因为本人对linux系统不算太了解,所以感觉问题解决的有点莫名其妙;所以留下几个疑问,如果有大佬知道其中的原由,希望能评论区告知,谢谢!
疑问点:
1)为什么我的服务器时间会与北京时间相差几分钟?最初搭建服务时选过时区,是没有这么大差距的,无法自动同步时间的锅?
2)为什么同步时间一直失败(尝试过连接各种同步时间的服务器)?
3)为什么同步时间失败之后硬件时间正常了呢?
后续如果我弄清楚原因,会更新该文章进行解释!
参考: