开机启动/etc/rc.local失效无效怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开机启动/etc/rc.local失效无效怎么办相关的知识,希望对你有一定的参考价值。

参考技术A 关于在/etc/rc.local下面加入脚本,开机后无法执行解决方法:
1、使用runlevel或者who
-r查看服务器的运行级别,根据运行级别查看/etc/rc.d/rcX.d/S99local
->
../rc.local,所指向的rc.local文件位置是否正确。一般是正确的
默认在/etc/rc.d/rc.local下面,/etc/rc.local只是它的一个symlink。
2、理解linux启动的流程,即init脚本先执行,最后再执行rc.local中的命令。
3、注意在rc.local中的脚本尽量使用绝对路径,脚本要加执行权值,脚本使用的服务和环境变量必须先加载,否则脚本会执行错误而退出。
4、在rc.local中的脚本不能执行时,我们可以在脚本中使用set
-x打开脚本的调试功能,并且将输出重定向到一个文件中,便于查看出错原因。如/root/echo.sh
>>
/root/debug.txt
5、要使用普通用户的环境变量需要在rc.local中使用export
var=xxx先导出或者使用source
/etc/profile,使环境变量生效才能使用,或者是sleep
10
(以s为单位),等其他的必须服务启动后
再执行相关的脚本命令部分。
回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢
!

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

 

习惯于在/etc/rc.local文件里配置我们需要开机启动的服务,这个在centos6系统下是正常生效的。但是到了centos7系统下,发现/etc/rc.local文件里的开机启动项不执行了!仔细研究/etc/rc.local文件内容,发现问题如下:

[[email protected] ~]# 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”来确保确保这个脚本在引导时执行。

然后接着查看/etc/rc.local的权限

[[email protected] ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 1月  29 10:45 /etc/rc.local -> rc.d/rc.local
[[email protected] ~]# ll /etc/rc.d/rc.local 
-rw-r--r--. 1 root root 473 1月  25 23:52 /etc/rc.d/rc.local

/etc/rc.d/rc.local没有执行权限,于是按说明的内容执行:

[[email protected] ~]# chmod +x /etc/rc.d/rc.local
[[email protected] ~]# ll /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 473 1月  25 23:52 /etc/rc.d/rc.local

重启服务器后发现/etc/rc.local文件里设置的开启启动项能够正常执行了。由此可见,虽然centos版本的变迁,/etc/rc.local、/etc/rc.d/rc.local正在处于被弃用的路上。

以上是关于开机启动/etc/rc.local失效无效怎么办的主要内容,如果未能解决你的问题,请参考以下文章

关于Linux开机自动启动服务uwsgi. nginx。 我在/etc/rc.local中增加了

2021-12-26 /etc/rc.local 和systemctl设置

linux中/etc/rc.d/rc.local是啥文件

Linux Ubuntu 20.04 —添加开机启动(服务/脚本)

linux中/etc/rc.d/rc.local是啥文件

ubuntu 设置开机自启动 / 设置定时重启 / crontab 定时执行 / 后台执行