关于centos7 rc.local不能完全执行的问题

刚用上Centos7.5,在rc.local中添加了一些命令用于开机自启动一些服务,但发现只有部分命令执行成功,网上搜索有如下方法解决:

Centos7已经写了要chmod +x /etc/rc.d/rc.local 授权一下才会起作用

当然有的时候也可能不成功,比如:
/etc/rc.d/rc.local 文件中的内容格式不正确:
开头少了#!/bin/bash,也是执行不成功的,会提示你格式不对。

此外还可能是没有启动此项服务:
#systemctl list-units –type=service #来查看一下所有的开启启动项目里面有没有这个rc-local这个服务。
#systemctl status rc-local.service #来查看一下当前是怎么个状态

然后:

#systemctl enable rc-local.service

#systemctl start rc-local.service
#手工添加下开机启动或者手工起一下看报错信息。

另外:服务的启动文件是存放在了:/lib/systemd/system/目录下面,如果不记得这个服务的全称可以来这个目录下面看。

如果要看Log,可以这样:/etc/rc.d/rc.local文件的文件头是#!/bin/sh ,我们把这修改成#!/bin/sh -x,这样系统启动后就会把/etc/rc.d/rc.local里面的指令或脚本不能执行的日志写入/var/log/messages,我们查看messages文件内容就知道具体的问题出在哪里了。

 

作者: Josh Chen

技术引领潮流!