openwrt开发使用-增加启动脚本
在使用openwrt时候我们会遇到增加自定义的开机启动任务活脚本,今天给大家分享一下openwrt中设置一个开机启动脚本的操作
作者:良知犹存
转载授权以及围观:欢迎关注微信公众号:羽林君
或者添加作者个人微信:become_me
openwrt启动脚本位置:
luci位置
http://192.168.1.1/cgi-bin/luci/admin/system/startup
ssh登录系统目录查看
ls /etc/init.d/
,启动脚本的位置都在这里,增加也在此处增加即可
还有一处位置需要我们关注ll /etc/rc.d/
,我们增加的脚本在enable之后,会在rc.d这个目录生成对应的一个软链接
我们需要把增加的脚本放入/etc/init.d
:
-
例如增加一个脚本保存为
/etc/init.d/myscript
-
将脚本设置为可执行文件,使用以下命令,
chmod +x /etc/init.d/myscript
-
将脚本添加到系统启动脚本中,使用以下命令,
/etc/init.d/myscript enable
-
如果想要在开机时立即启动脚本,可以使用以下命令,
/etc/init.d/myscript start
-
如果想要停止脚本,可以使用以下命令
/etc/init.d/myscript stop
-
如果想要重新启动脚本,可以使用以下命令
/etc/init.d/myscript restart
-
如果想要查看脚本的状态,可以使用以下命令,
/etc/init.d/myscript status
一般来说,我们使用脚本直接执行就好,但是如果要符合openwrt自动启动的要求,这里还有书写规范,否则就会提示失败,如果自己脚本迟迟没有提示工作,可以用ps查看一下执行情况,下面就是一个执行失败的情况,这里可以看到一直错误退出
。甚至连带着luci中系统启动项查看都出现了错误,luci都带不开。
脚本内容修改规范后如下:
#!/bin/sh /etc/rc.common
START=99
start(){
echo "myscript is start"
}
stop(){
echo "myscript is stop"
}
restart(){
echo "myscript is restart"
}
注意:在 OpenWrt 中,系统启动脚本的顺序是根据文件名的字母顺序来决定的,因此您可以通过修改START对应的数字来调整脚本的启动顺序。
这时候再来重复之前操作:在/etc/rc.d/
查看,可以看到myscript已经形成软链同时在http://192.168.1.1/cgi-bin/luci/admin/system/startup
也可以看到这个选项
这就是我自己在openwrt增加自启动脚本的分享。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。
作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
推荐阅读
【3】CPU中的程序是怎么运行起来的 必读
本公众号全部原创干货已整理成一个目录,回复[ 资源 ]即可获得。