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  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

推荐阅读

【1】jetson nano开发使用的基础详细分享

【2】Linux开发coredump文件分析实战分享

【3】CPU中的程序是怎么运行起来的 必读

【4】cartographer环境建立以及建图测试

【5】设计模式之简单工厂模式、工厂模式、抽象工厂模式的对比

本公众号全部原创干货已整理成一个目录,回复[ 资源 ]即可获得。

posted @ 2023-05-09 22:49  良知犹存  阅读(820)  评论(0编辑  收藏  举报