Linux开机启动文件rc.local无法执行怎么办
作者:紫南发布时间:2023-02-06浏览:459
第一种情况:当centOS 随机启动文件 /etc/rc.local 失效时请按如下修改:
1.echo /etc/rc.local >>/etc/profile && source /etc/profile 注:当执行生效会看到效果(/etc/profile 文件在每个用户登录时会首先检查并执行)
2.reboot注:重新启动检测是否生效
第二种情况:echo /etc/rc.local >>~/.bash_profile && source /etc/profile。
第三种情况:在 /etc/init.d 目录下增加对应程序启动脚本,然后重启测试,内容如下:chkconfig --add 脚本名(将该脚本注册到系统服务,此时直接输入脚本可以直接运行)。
/etc/rc.local 中部分命令无法执行。
在linux系统中添加随系统启动而自动运行的服务,只需在/etc/rc.local 脚本文件中添加即可,当运行的命令或程序不带路径时,例如:
#!/bin/bash
distccd --user nobody --allow 10.10.98.0/24 --log-file=/var/log/distcc.log --verbose --daemonloadavg -s 10.10.98.20 >/dev/null 2>&1
注意,distccd、loadavg命令存放在/usr/local/bin/目录下
在系统执行这些命令时将报错,无法正常执行!
由于在执行rc.local脚本时,PATH环境变量未全部初始化,目录/usr/local/bin/ 需在执行/etc/profile 后才被添加到环境变量PATH中。
解决方法:在 /etc/rc.local 执行 /usr/local/bin/ 目录中的命令需要使用绝对路径。
1.使用runlevel或者who -r查看服务器的运行级别,根据运行级别查看/etc/rc.d/rcX.d/S99local -> ../rc.local,所指向的rc.local文件位置是否正确。
一般是正确的
默认在/etc/rc.d/rc.local下面,/etc/rc.local只是它的一个symlink。
2.注意在rc.local中的脚本尽量使用绝对路径,脚本要加执行权值,脚本使用的服务和环境变量必须先加载,否则脚本会执行错误而退出。
3.理解linux启动的流程,即init脚本先执行,最后再执行rc.local中的命令。
4.要使用普通用户的环境变量需要在rc.local中使用export var=xxx先导出或者使用source /etc/profile,使环境变量生效才能使用,或者是sleep 10 (以s为单位),等其他的必须服务启动后。
5.在rc.local中的脚本不能执行时,我们可以在脚本中使用set -x打开脚本的调试功能,并且将输出重定向到一个文件中,便于查看出错原因。如/root/echo.sh >> /root/debug.txt
再执行相关的脚本命令部分。
相关推荐
- 大众新宝来油箱多大
- 生活垃圾分为哪四类
- 中国大学qs世界排名
- 现在国内的膜结构哪个城市的比较便宜质量又好的?我们要做个膜结构车棚!
- 2014年美国队维一的白人运动员是谁
- 现在膜结构行业的价格如何 ,想做一个膜结构车棚,不知道有哪家公司实力比较强
- 东莞的手表厂有哪些?在寮步专业做手表的有哪些厂家??
- 手表品牌大全,请大家列举一些!
- 商家不推荐实木颗粒板说不环保,真正原因是什么?
- 去字的笔顺笔画读法
- 阿尔法属于什么级别车
- 鹿方宁和凌瑞结婚的目的是什么?
- 桃树嫁接多久砧木与接穗可以愈合,什么时候可以拆掉透明薄膜,如果不拆掉薄膜接穗会不会死亡?
- 大众宝来油箱多少升
- 世界前一百名的手表厂家有那些啊?
- 中国大学在世界大学排名中多少名
- 奇瑞A5遥控钥匙锁不上车门怎么办?
- 肯德基是哪个国家的
- 怎么在手机上选车牌号
- 奇瑞A5遥控钥匙老失灵怎会事