“Centos7自启动rc.local中的脚本不执行”的版本间的差异
跳到导航
跳到搜索
小 (导入1个版本) |
|||
第30行: | 第30行: | ||
最好将该脚本(程序)目录的所有权给该用户: | 最好将该脚本(程序)目录的所有权给该用户: | ||
+ | |||
+ | |||
+ | |||
+ | tail boot.log | ||
+ | [ OK ] Started Network Time Service. | ||
+ | [FAILED] Failed to start /etc/rc.d/rc.local Compatibility. | ||
+ | See 'systemctl status rc-local.service' for details. | ||
+ | |||
+ | #启动rc-local 服务 on aliyun 不要不小心 不清空了 /etc/rc.d/rc.local | ||
+ | systemctl enable rc-local.service | ||
</pre> | </pre> |
2019年11月13日 (三) 05:51的版本
原因解析
在centos7,使用ls -l /etc/rc.loacl可以看到如下结果 lrwxrwxrwx. 1 root root 13 7月 31 22:02 /etc/rc.local -> rc.d/rc.local 可以看到上面的执行结果是显示有执行权限的, 但是当使用ls -l /etc/rc.d/rc.loacl的时候却可以看到如下结果 -rw-r--r--. 1 root root 730 Sep 27 05:38 /etc/rc.d/rc.local /etc/rc.loacl所链接的文件是没有执行权限的, 所以在启动的时候rc.local中写的命令得不到执行, 因此需要手动添加执行权限给/etc/rc.d/rc.loacl
解决办法
Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. 打开 就有提示哦 请用心看 哈哈 chmod +x /etc/rc.d/rc.local
关于在rc.local文件中指定用户执行脚本命令
使用su命令即可,命令格式: su - username -c “your-cammand” ,如: 注意:指定用户执行的脚本(程序)目录,该用户必须有管理该脚本(程序)目录(文件)的权限。 最好将该脚本(程序)目录的所有权给该用户: tail boot.log [ OK ] Started Network Time Service. [FAILED] Failed to start /etc/rc.d/rc.local Compatibility. See 'systemctl status rc-local.service' for details. #启动rc-local 服务 on aliyun 不要不小心 不清空了 /etc/rc.d/rc.local systemctl enable rc-local.service