移步原文网站,浏览最新博客。
crontab
crontab -e
在编辑器里面输入@reboot
后面跟上你的脚本执行代码
@reboot /home/user/test.sh
保存即可。Ok,脚本现在已经会在开机时自动运行了。
/etc/init.d/
1、新建一个bash脚本文件
#!/bin/sh
### BEGIN INIT INFO
# Provides: 提供者
# Required-Start: $network $local_fs $remote_fs $syslog
# Required-Stop:: $network $local_fs $remote_fs $syslog
# Should-Start: $all
# Should-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: 服务简介
# Description: 服务描述
### END INIT INFO
#NAME = 服务名称
#脚本路径
export HOME="/home/pi"
#以root身份启动
export USER="root"
#执行脚本
nohup python /home/pi/ssd1306/ssd1306.py >/home/pi/ssd1306/ssd1306.log 2>&1 &
exit 0
2、将这个bash脚本复制到/etc/init.d/
sudo cp /home/pi/ssd1306/ssd1306 /etc/init.d/ssd1306
3、将这个bash脚本设置为可执行
sudo chmod +x /etc/init.d/ssd1306
4、将the_bash文件加入服务
sudo update-rc.d /etc/init.d/ssd1306 defaults
网络链接成功之后启动
部分服务的启动需要网络连接成功之后才可以进行,因此可以在开机需要启动的脚本上添加网络连接探测
while true
do
ping -c 1 -s 1 www.baidu.com
if [ $? != 0 ]
then
echo " ping fail "
sleep 5
else
echo " ping ok"
启动你的服务
break
fi
done
这样的话网络连接成功之后才会启动你的服务,直接采取crontab和/etc/init.d/的方法网络连接会失败。