CentOS7开机启动脚本不执行解决办法

作者:稳网互联来源:官方更新时间:2018-05-24点击数:1987

在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限:chmod 777 /etc/rc.d/rc.local


给了相应的权限,开机启动脚本就可以正常启动了.




扩展知识:

在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。


1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
  
touch /var/lock/subsys/local
/usr/local/apache/bin/apachectl start


2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。


chkconfig 功能说明:检查,设置系统的各种服务。


语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]


--add 添加服务


--del 删除服务


--list 查看各服务启动状态


比如我们设置自启动mysql:

#将mysql启动脚本放入所有脚本运行目录/etc/rc.d/init.d中
cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
 
#改变权限
chown root.root /etc/rc.d/init.d/mysqld
 
#所有用户都可以执行,单只有root可以修改
chmod 755 /etc/rc.d/init.d/mysqld
 
#将mysqld 放入linux启动管理体系中
chkconfig --add mysqld
 
#查看全部服务在各运行级状态
chkconfig --list mysqld
 
#只要运行级别3启动,其他都关闭
chkconfig --levels 245 mysqld off

例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用

chkconfig --add httpd
chkconfig httpd on

命令即设置好了开机启动。