目录
方法一 编辑文件 /etc/rc.local
- 检查有效性
systemctl list-dependencies multi-user.target | grep rc-local
若没有输出在开机启动不会生效,执行以下命令:
systemctl list-dependencies multi-user.target | grep rc-local
systemctl daemon-reload
再次检查,有以下输出:
- 配置启动项
打开配置文件:
vim /etc/rc.local
#在文件末尾加上你开机需要启动的程序或执行的命令即可(执行的程序需要写绝对路径,添加到系统环境变量的除外),如:
/usr/local/thttpd/sbin/thttpd -C /usr/local/thttpd/etc/thttpd.conf
wq 保存退出即可。
方法二 自定脚本SHELL
将写好的脚本(a.sh文件)放到目录 /etc/profile.d/ 下,系统启动后(实际验证,用户登陆shell就会触发该脚本)就会自动执行该目录下的所有shell脚本。
注:需要确保自定义的脚本文件有可执行权限,参考以下指令
chmod a+x a.sh
方法三 通过chkconfig命令设置
将启动文件cp到 /etc/init.d/或者/etc/rc.d/init.d/(前者是后者的软连接)下
vim 启动文件,文件前面务必添加如下三行代码,否侧会提示chkconfig不支持
service myservice does not support chkconfig
#!/bin/sh 所有的shell脚本都是这样
#chkconfig: 2345 20 80 分别代表运行级别,启动优先权,关闭优先权(此行代码必须)
#description: http server 自己随便发挥,(此行代码必须)
启动级别有0-6共7个级别
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
10是启动优先级,90是停止优先级,
优先级范围是0-100,数字越大,优先级越低。
chkconfig --add 脚本当前目录全路径,如:
chkconfig --add /etc/init.d/nginx
开启开机启动,指令如下:
chkconfig nginx on
查看开机启动的服务:
chkconfig --list