Linux中/etc/rc.d/rc.local中配置的启动项未生效原因总结
- 权限不足:/etc/rc.local & /etc/rc.d/rc.local都需要有执行权限
- 权限查看,root用户需要有可执行权限
[root@localhost ~]# ll /etc/rc.d/rc.local /etc/rc.local
===》图显方式:
-rwxr--r--. 1 root root 509 Jul 1 02:01 /etc/rc.d/rc.local
lrwxrwxrwx. 1 root root 13 Jun 7 16:50 /etc/rc.local -> rc.d/rc.local - 权限修改方式
- 方法1:chmod 744 /etc/rc.d/rc.local #为了安全,不建议设置为777,建议设置为744
- 方法2:chmod +x /etc/rc.d/rc.local
- /etc/rc.local和/etc/rc.d/rc.local是软链接关系,因此两者内容一致,默认/etc/rc.local是777,但/etc/rc.d/rc.local的权限默认是644
[root@localhost ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Jun 7 16:50 /etc/rc.local -> rc.d/rc.local
===》图显方式:
- 权限查看,root用户需要有可执行权限
- rc.local服务未启动
- 通过下面命令查看是否启动,一般rc.local服务是默认启动
[root@localhost ~]# systemctl list-unit-files|grep rc.local
rc-local.service static-------代表已开启,如果是disable,代表未开启 - 启动rc.local服务
systemctl enable rc-local.service - 手动启动一次rc.local,看是否有问题
systemctl status rc-local.service - 自动启动服务
systemctl start rc-local.service
- 通过下面命令查看是否启动,一般rc.local服务是默认启动
- rc.local格式是否正确
- /etc/rc.d/rc.local文件中需要加上 "#!/bin/bash"
- 手动执行rc.local查看中间是否有执行错误的
- systemctl status rc-local.service