systemd开机启动脚本_CentOS7-8 rc.local 开机不执行的解决方法

本文介绍了在CentOS7.3中,rc.local服务未启动导致Zabbix客户端未自动启动的问题及解决方法。通过systemctl启动和设置rc-local服务开机自启动,确保rc.local内的命令在开机时执行。同时强调了在rc-local.service配置文件中添加[Install]段的重要性,并提醒修改rc.local文件权限为可执行。
摘要由CSDN通过智能技术生成

CentOS7.3学习笔记总结(六十六)- CentOS7-8 rc.local 开机不执行的解决方法

今天在巡检Zabbix server服务器时,发现一监控(没有添加报警提示)对象不在线,其他监控对象都正常,通过检查发现该服务器的zabbix客户端服务器没启动,启动程序已经添加到rc.local里了,并且已经添加了可执行。

通过检查命令:systemctl status rc-local

e9dca5fa9c1d2aa002864b40490a7e00.png

rc-local状态:Active: inactive (dead)不活动状态,原因找到了,执行命令:

systemctl start rc-local#启动rc-local服务

systemctl enable rc-local#设置rc-local服务开机自启动

记着在/usr/lib/systemd/system/rc-local.service配置文件末尾中添加如下内容:

[Install]

WantedBy=multi-user.target

8e4909959e16b32d2e0badd36d4cba83.png

测试:

在rc.local文件中添加如下内容,看是否重启服务器后执行:

echo "test rc.local" >/root/lxt.txt

dde448f573c7e6d49e3519e0d0e38b26.png

分析:

在Centos系统中,我们运维一般在/etc/rc.d/rc.local写入开机需要运行的命令,就可以实现系统开机启动过程,启动所需的命令,这是Centos5-6的常规做法,但是在Centos7-8采用了systemd技术,开机不会运行init进程,但是为了兼容Centos5-6版本,新版本中提供了一个rc-local的systemc服务,可以通过启动此服务,实现rc.local文件中设置的启动程序开机启动,前提条件:/etc/rc.d/rc.local可执行,默认不可执行,所以不要忘了:chmod +x /etc/rc.d/rc.local。

还有一个比较重要的内容,就是在rc-local.service服务文件中,一定要添加[Install]段:

[Install]

WantedBy=multi-user.target

否则,启动或者配置开机启动,都会提示错误。

附:rc.local文件中的注释:

b60487d76324778335ece3d14a59c951.png

汉语意思:

添加此文件是出于兼容性目的

最好创建自己的systemd服务或udev规则来在引导期间运行脚本,而不是使用这个文件。

与以前的版本不同,由于在引导期间并行执行,此脚本将不会在所有其他服务之后运行。

请注意,您必须运行CHMOD+X/ETC/RC D/rc.本地'以确保在引导期间执行此脚本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值