
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、重启服务器,查看脚本是否启动