openwrt开发使用-增加启动脚本

羽林君

共 1919字,需浏览 4分钟

 ·

2023-05-12 04:31

前言

在使用openwrt时候我们会遇到增加自定义的开机启动任务活脚本,今天给大家分享一下openwrt中设置一个开机启动脚本的操作

作者:良知犹存

转载授权以及围观:欢迎关注微信公众号:羽林君

或者添加作者个人微信:become_me


openwrt启动脚本位置:

luci位置

http://192.168.1.1/cgi-bin/luci/admin/system/startup

1bbd4e55258bb6df71d269a0d2861706.webp

ssh登录系统目录查看

ls /etc/init.d/,启动脚本的位置都在这里,增加也在此处增加即可f7952f9f6d82db1b9782e7d7ecf7e1a4.webp

还有一处位置需要我们关注ll /etc/rc.d/,我们增加的脚本在enable之后,会在rc.d这个目录生成对应的一个软链接

48f0c4c321008e3dc196913c953aae47.webp增加开机启动脚本操作:

我们需要把增加的脚本放入/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查看一下执行情况,下面就是一个执行失败的情况,这里可以看到一直错误退出a068af3e42170ff68799b69fb3a22949.webp甚至连带着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对应的数字来调整脚本的启动顺序。

这时候再来重复之前操作:527c3e91e10a9627f44dbfa26a07274a.webp/etc/rc.d/查看,可以看到myscript已经形成软链dfdfa8f1a48a954182d13a2017f154fe.webp同时在http://192.168.1.1/cgi-bin/luci/admin/system/startup也可以看到这个选项f1916d52a4bec891a361fe628b145eff.webp

结语

这就是我自己在openwrt增加自启动脚本的分享。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。


作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。

                                    ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

推荐阅读

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

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

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

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

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

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


浏览 77
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报