linux开发板设置开机后自动调整时间
一、准备工作
安装ntpdate:
apt-get install ntpdate
校时命令:
ntpdate cn.pool.ntp.org(cn.pool.ntp.org是ntp网络授时组织的中国授时源)
ps:在这里我遇到一个问题,校准后的时间比当前时间(北京时间)慢了8个小时,即存在8个小时的误差,所以我推测可能是时区问题
解决方法:
在 /etc/profile 文件中增加一行:
export TZ=‘CST-8‘
使文件立即生效,执行命令:
# source /etc/profile
或者
# ./etc/profile
二、在/home/root下新建一个time.sh文件,将自动更新时间的命令写入
#!/bin/bash
ntpdate cn.pool.ntp.org #校时命令
hwclock -w #写入硬件
授予time.sh可执行权限
chmod a+x time.sh
三、使用systemd配置time.sh为开机自启动
在/etc/systemd/system下创建time.service文件
[Unit] Description=time # 这里填简介 Before= After= # After和Before字段只涉及启动顺序,不涉及依赖关系。也就是说让time.service这个service文件在谁之前、之后启动,也可以不填 [Service] ExecStart=/home/root/time.sh # 这里填sh文件路径,后面也可以跟运行**.sh的参数,比如 -D -I【注意,这里不能直接写命令简称,如"source /etc/environment"或source /etc/environment,但是可以用命令绝对名,如/usr/bin/python xx.py;最好用一个sh文件或py文件来执行命令】 [Install] WantedBy=default.target(默认都在etc/systemd/system文件夹下,此处保持默认即可)
四、配置完成后,在重启之前,可以使用以下命令测试刚配置的time.service文件
systemctl start time.service