美文网首页
CentOS7添加开机启动服务或脚本

CentOS7添加开机启动服务或脚本

作者: 承诺一时的华丽 | 来源:发表于2020-06-29 11:48 被阅读0次

    方法一(rc.local)

    1、 由于在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权
    sudo chmod +x /etc/rc.d/rc.local
    
    • 修改/etc/rc.d/rc.local文件权限为可编辑
    sudo chmod -v u+w  /etc/rc.d/rc.local
    
    • 赋予脚本可执行权限,假设/opt/script/autostart.sh是你的脚本路径,给予执行权限
    chmod +x /opt/script/autostart.sh
    
    • 打开/etc/rc.d/rc.local文件,在末尾增加如下内容
    sudo vi /etc/rc.d/rc.local
    

    su - zlsc -c "/opt/script/autostart.sh"

    • 恢复文件权限为可读
    sudo chmod -v u-w /etc/rc.d/rc.local
    

    方法二(chkconfig)

    说明
    /etc/init.d是/etc/rc.d/init.d的软链接,可以通过ll命令查看。当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的运行级别确定不同的启动级别。

    教程
    将脚本移动到/etc/rc.d/init.d目录下

    mv  /opt/script/autostart.sh /etc/rc.d/init.d
    

    增加脚本的可执行权限

    chmod +x  /etc/rc.d/init.d/autostart.sh
    

    添加脚本到开机自动启动项目中

    cd /etc/rc.d/init.d
    chkconfig --add autostart.sh
    chkconfig autostart.sh on
    

    关于chkconfig及liunx运行级别
    chkconfig启动脚本规范 在脚本开头加入下面内容:

    #!/bin/bash
    # chkconfig: 2345 90 10
    # description: myservice

    说明:chkonfig后面是启动级别和优先级,description后面是服务描述。如上面脚本意思是,服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,停止的优先级是10。 优先级范围是0-100,数字越大,优先级越低。

    注意:不添加以上内容的话添加启动项时会提示service myservice does not support chkconfig。

    Linux启动优先级

    运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
    不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)

    缺省的运行级,RHS用到的级别如下:
    • 0:关机
    • 1:单用户模式
    • 2:无网络支持的多用户模式
    • 3:有网络支持的多用户模式
    • 4:保留,未使用
    • 5:有网络支持有X-Window支持的多用户模式
    • 6:重新引导系统,即重启

    对各个运行级的详细解释:

    • 0 为停机,机器关闭。
    • 1 为单用户模式,就像Win9x下的安全模式类似。
    • 2 为多用户模式,但是没有NFS支持。
    • 3 为完整的多用户模式,是标准的运行级。
    • 4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。
    • 5 就是X11,进到X Window系统了。
    • 6 为重启,运行init 6机器就会重启。

    方法三(systemd)

    可以通过systemd添加自定义服务启动,具体步骤这里不再赘述。

    相关文章

      网友评论

          本文标题:CentOS7添加开机启动服务或脚本

          本文链接:https://www.haomeiwen.com/subject/dqfofktx.html