python 同步时间 树莓派_树莓派系统时间同步

树莓派系统时间不对

在《初识树莓派》一文最后一张截图中其实隐藏了一个我没有太在意的时间问题,今天在开发树莓派监控程序的时候才发现。

从图中我们可以知道上次登录时间是1970年1月1日星期四的00:03:17分,由此我们可以推断,新安装系统的树莓派默认系统时间应该是1970年1月1日开始的。

很明显,这个时间与我们期望的当前时间是不符的。我们需要将系统时间修改为和当前时间同步。

第一步:启用网络时间协议

为了保证时间的准确性,推荐使用NTP网络时间协议来同步时间。对的,跟windows中的 Internet 时间同步是一样一样的。

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。NTP可以使计算机时钟与 Internet 时间服务器同步。 这意味着可以更新计算机上的时钟,以与时间服务器上的时钟匹配,这有助于确保计算机上的时钟是准确的。它的用途是把计算机的时钟同步到世界协调时间UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

运行以下命令,启用NTP:

sudo timedatectl set-ntp true

启用NTP以后,时间就是正常的吗?我们来通过date命令来查看当前时间:

ubuntu@localhost:/etc$ dateMon Apr6 08:45:50 UTC 2015

年月日都对了,但是现在是16点啊,系统时间显示的确是08点,相差8个小时。

这个时候,多年的开发经验告诉我们,天朝时间比标准时间早8个小时。

我们还想date命令出来的时间与我们的时间完全保持一致,就需要进行第二步操作修改时区。

第二步:修改时区

使用以下命令修改本地时区:

sudo dpkg-reconfigure tzdata

在“Configuring tzdata”中,依次选择Asia、Chongqing,回车确认,出现了以下提示信息:

cp: cannot create regular file '/etc/localtime.dpkg-new': Read-only filesystem

Current defaulttime zone: 'Asia/Chongqing'Localtime is now: Mon Apr 6 08:49:52 UTC 2015.

Universal Time is now: Mon Apr6 08:49:52 UTC 2015.

debconf: DbDriver"config": could not write /var/cache/debconf/config.dat-new: Read-only file system

简单来说,就是文件系统是只读的,不能创建etc/localtime.dpkg-new文件和不能写config.dat-new文件。

当前默认的时区是已经改成了我们想要的'Asia/Chongqing',但是本地时间和世界时间还是一样的,这里还有问题,应该就是只读文件系统造成时区没有完全配置。

第三步:使文件系统可写

通过askubuntu找到了Read-only file system问题的解决办法,运行以下命令使得文件系统可写。

sudo mount -o rw,remount /

第四步:重复第二步修改时区

这一次重新配置时区就比较顺利了。本地时间变成了CST时间,也就是China Standard Time UTC+8:00 中国沿海时间(北京时间)。

Current default time zone: 'Asia/Chongqing'Localtime is now: Mon Apr 6 16:55:50 CST 2015.

Universal Time is now: Mon Apr6 08:55:50 UTC 2015.

ubuntu@localhost:/etc$ dateMon Apr6 17:19:56 CST 2015ubuntu@localhost:/etc$ timedatectl status

Localtime: Mon 2015-04-06 17:36:36CST

Universaltime: Mon 2015-04-06 09:36:36UTC

RTCtime: n/a

Time zone: Asia/Chongqing (CST, +0800)

NTP enabled: yes

NTP synchronized: yes

RTCinlocal TZ: no

DST active: n/a

后记

保证计算机的时间准确性是一个非常重要的事情,特别是我们基于树莓派还开发一些开关或者数据监控应用,如果时间不准确,可能会引发一些不必要的问题。

你可能感兴趣的:(python,同步时间,树莓派)