背景

centos7以后rc.local和之前的有不太一样了,centos7默认开机不会执行,需要手工调整;

解决办法

查看rc.local文件

cat /etc/rc.d/rc.local
#!/bin/bash
#这个文件是为兼容性才添加的
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#强烈建议使用systemd服务或udev规则来运行开机启动脚本,而不是使用这个文件
# 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.
#请记住:你必须运行'chmod +x /etc/rc.d/rc.local'来确保这个脚本在启动时执行
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure that this script will be executed during boot.

从上面rc.local文件来看,rc.local是没有执行权限的,只要给rc.local添加执行权限就可以了

# 赋权前
[root@localhost ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 502 3月   9 00:16 /etc/rc.d/rc.local
[root@localhost ~]# chmod +x /etc/rc.d/rc.local
# 赋权后
[root@localhost ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 502 3月   9 00:16 /etc/rc.d/rc.local

此时可以开机执行了。