debian 开机启动 运行命令或脚本文件(较详细) 您所在的位置:网站首页 开机自动执行cmd debian 开机启动 运行命令或脚本文件(较详细)

debian 开机启动 运行命令或脚本文件(较详细)

2023-10-03 20:10| 来源: 网络整理| 查看: 265

开机启动: 本文以leanote的开机启动和随身WiFi切换usb-otg并挂在U盘为例,内容比较详细,带命令内容和操作内容。 1、跳转到对应位置(/etc/init.d/)

cd /etc/init.d/

2、创建sh脚本(文本名.sh)(如果不存在会自动创建)

vim /etc/init.d/leanote.sh

3、在sh文件中输入一下内容

例1:

#!/bin/sh ### BEGIN INIT INFO # Provides:Leanote # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Leanote # Description: Leanote start ### END INIT INFO cd /home/www/leanote/bin/ nohup bash run.sh & exit 0

例2: 用vim打开需要修改的脚本,其中/etc/init.d/是存放路径

vim /etc/init.d/startmountusb.sh #!/bin/sh ### BEGIN INIT INFO # Provides:startmountusb # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: startmount+usb # Description: start mount and usb ### END INIT INFO sleep 3 systemctl stop docker sleep 3 echo host > /sys/kernel/debug/usb/ci_hdrc.0/role sleep 3 mount /dev/sda1 /var/lib/docker sleep 5 systemctl start docker exit 0

建议:分步且可能有延迟的操作,建议加上等待时间。

启动文件模板解释:

#!/bin/sh ### BEGIN INIT INFO # Provides: [程序名称,唯一] # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: [启动项的简短说明] # Description: [启动项的完整说明] ### END INIT INFO [需要执行的命令] exit 0

在这个模板中,Provides 是唯一的,也就是在所有的开机启动项中,Provides不能有任何同名冲突。Short-Description 和 Description 随心情写。 需要执行的命令,按照正常的Bash Shell书写方式书写即可。 友情提示:需要后台静默运行的程序,请使用 nohup [需要执行的命令] >/dev/null 2>&1 & 方式来启动!最后的 exit 0 请不要删除!这个是返回正常退出信号的一个传值!

附: vim操作: 1)逗号是指先后操作 2)【】包含的是键盘按键[]包含的是输入的英文内容 ①【esc】:返回,输入命令,退出编辑模式 ②【i】:编辑 ③【shift】+【ins】:粘贴(可能有别,具体以你用的ssh为准) ④【esc】,[:wq] :保存并退出,注意wq前面的冒号是英文版,且需要输入。 ⑤【esc】,[:q]:退出,如果有改动,就不能用这个 ⑥【esc】,[:q!]:退出且不保存,注意是不保存!不保存!不保存!结构是冒号+q+叹号,英文版

4、将刚才编辑好的sh文件加上可执行的属性(如果不加属性,启动脚本将无法运行):

chmod +x leanote.sh 结构为: chmod+空格+[+x]+空格+脚本.sh

5、然后,将这个启动脚本加入开机启动项中:

update-rc.d leanote.sh defaults 结构为:update-rc.d+空格+脚本.sh+空格+defaults

6、然后重新启动系统,

reboot


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有