Linux开机启动文件rc.local无法执行怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux开机启动文件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为单位),等其他的必须服务启动后
再执行相关的脚本命令部分。
参考:http://bbs.linuxtone.org/thread-22792-1-1.html

给Debian9 没有rc.local的添加开机自动启动

参考技术A De­bian 9 系统默认不带 /etc/rc.local 文件,但是却也没有掉 rc.local 服务,所以我们需要的文件。让 De­bian 9 系统可以通过编辑 /etc/rc.loacl 文件给我们服务添加开机自启动。

1、添加rc-local.service

以下为一整条命令,一起复制运行

2、新建rc-local文件

以下为一整条命令,一起复制运行

3、添加权限并设置开机自启

chmod +x /etc/rc.local

systemctl enable rc-local

systemctl start rc-local.service

检查状态:

systemctl status rc-local.service

返回 Active:active 信息,则成功。

最后我们就可以在 /etc/rc.loacl 里,添加开机的自启命令什么的了。记住添加在 exit 0 之前。

注意:更改自启脚本后,需要重新运行一下命令已使其生效。

systemctl enable rc-local

systemctl start rc-local.service

这样就完成了。对开机自动启动的配置在debian9上。

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

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

linux 怎么开机 执行命令

关于开机自启动文件rc.local的使用与取消

centos 7 rc.local 不启动

给Debian9 没有rc.local的添加开机自动启动

Linux之开机启动文件:/etc/rc.local