近期同事反映树莓派的时间不正确,导致应用服务出现问题;
后来我检查了一下,是由于人为或者非人为原因断电或关机之后,树莓派并不像我们目前的笔记本或者主机一样存在cmos电池。树莓派不带电池,在断电之后,时间就停留在当前这个时间点,下次开机依然从这次开始;
下面介绍几种处理办法:
一.直接进行实时同步
sudo date --s='2017-03-30 13:57'
二.修改时间同步
在开机,时候就增加时间同步模块重启,这样,只要树莓派网络是通达的,即可进行时间同步:
编辑/etc/rc.local,增加到系统启动项中:
# sudo vi /etc/rc.local
sudo sed -i '$d' /etc/rc.local
sudo sed -i '19a ntpd -s -d \n/etc/init.d/ntp restart ' /etc/rc.local
#sudo sed -i '19a ntpd -s -d \n/etc/init.d/ntp restart\n/etc/init.d/tinyproxy stop \n/etc/init.d/tinyproxy start ' /etc/rc.local
#这条是我同时还增加了别的服务tinyproxy重启,可以忽略;
sudo sed -i '$a exit 0' /etc/rc.local
在树莓派上,打date命令可以看到系统的日期时间:
(后面的CST表示中国标准时间)
树莓派没有电池,断电后无法保存时间。树莓派默认安装了NTP(Network Time Protocol)服务来获取互联网上ntp服务器提供的时间。如果这个时间不准,可以用这个命令校准一下。
sudo ntpd -s -d
如果还是不准,就用这个命令强制设置
sudo date --s="2014-08-31 14:42:00"
最后,添加一些国内可用的ntp服务器,如果你的时间正常,可以不做这些设置。
打开ntp服务的配置文件
sudo nano /etc/ntp.conf
找到这两行
# You do need to talk to an NTP server or two (or three).
# server ntp.your-provider.example
在下面添加以下内容,是一些亲测可用的ntp服务器。第一行最后的perfer表示优先使用此服务器,也就是复旦大学的ntp服务器。添加之后按Ctrl+X保存退出。
server ntp.fudan.edu.cn iburst perfer
server time.asia.apple.com iburst
server asia.pool.ntp.org iburst
server ntp.nict.jp iburst
server time.nist.gov iburst
重启ntp服务
sudo /etc/init.d/ntp restart