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

开机启动:
本文以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
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值