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

你可能感兴趣的:(随身WIFI,linux,网站相关问题解决方案,debian,vim,linux)