centos7启动后/etc/rc.local文件里配置的开机启动项不执行的解决办法

问题:centos7启动后/etc/rc.local文件里配置的开机启动项不执行

 

平时除了使用systemctl设置一些服务的开机自启动外,有些服务不能使用systemcctl启动,或者配置systemcctl启动比较麻烦,比如:ELK相关的服务。
所以我们还习惯于在/etc/rc.local文件里配置我们需要开机启动的服务,这个在centos6系统下是正常生效的。但是到了centos7系统下,发现/etc/rc.local文件里的开机启动项不执行了!

仔细研究/etc/rc.local文件内容,如下:

复制代码
[root@master ~]# cat /etc/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.
.......
复制代码

上面的内容翻译出来的意思是:

#这个文件是为了兼容性的问题而添加的。
#
#强烈建议创建自己的systemd服务或udev规则来在开机时运行脚本而不是使用这个文件。
#
#与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#
#请记住,你必须执行“chmod +x /etc/rc.d/rc.local”来确保确保这个脚本在引导时执行。

从上面的配置文件可以得出,centos7要想使用/etc/rc.local启动服务,那就必须给/etc/rc.local赋予可执行的权限,默认系统安装好后这个配置文件是没有执行权限的。

根据要求给/etc/rc.local赋予执行权限:

 

[root@master ~]# chmod +x /etc/rc.d/rc.local
[root@master ~]# ll /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 473 2月  15 12:25 /etc/rc.d/rc.local

重启服务器后发现/etc/rc.local文件里设置的开启启动项能够正常执行了。

posted @   粉色纽扣  阅读(484)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示