【Linux】开机自动启动脚本

时间:2023-03-08 19:59:51
【Linux】开机自动启动脚本

  Linux下(以RedHat为范本)添加开机开机自动启动脚本有两种方式;

  本例系统:Linux(CentOS 7.2)

方法一

  使用 /etc/rc.d/rc.local,自动启动脚本

 #!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot. touch /var/lock/subsys/local

  1、授予 /etc/rc.d/rc.local 文件执行权限

    命令:chmod +x /etc/rc.d/rc.local

  2、在文件文件底部添加脚本

  3、重启服务器,查看脚本是否启动

  注意:/etc/rc.d/rc.local脚本执行,在/etc/profile之前,若/etc/rc.d/rc.local用到/etc/profile的环境变量,Shell无法执行成功

方法二

  1、编辑服务脚本 xxxx(脚本名),增加内容(要在服务脚本中实现POSIX规范中的函数:start() stop()等),命令:vim /etc/init.d/xxxx

  2、给脚本增加可执行权限,命令:chmod a+x /etc/init.d/xxxx

  3、注册xxxx服务名,命令:chkconfig --add xxxx

 注意执行命令:chkconfig --add xxxx
常常会出现 service myservice does not support chkconfig
我们一般在脚本开头加入下面两句就好了
#vim /etc/init.d/xxxx
添加下面两句到 #!/bin/bash 之后。 # chkconfig: 2345 10 90
# description: xxxx ....
其中2345是默认启动级别,级别有0-6共7个级别。   等级0表示:表示关机      等级1表示:单用户模式      等级2表示:无网络连接的多用户命令行模式      等级3表示:有网络连接的多用户命令行模式      等级4表示:不可用      等级5表示:带图形界面的多用户模式      等级6表示:重新启动 10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低

    配置系统启动时该脚本默认启动,命令:chkconfig xxxx on   

    配置系统启动时该脚本默认关闭,命令:chkconfig xxxx off

  4、列出当前的服务和他们的配置,命令:chkconfig --list

  5、重启服务器,查看脚本是否启动