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

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

1、使用绝对路径或者服务启动命令

2、检查文件的执行权限问题

[root@openstack ~]# 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的权限

[root@openstack ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 1月  29 10:45 /etc/rc.local -> rc.d/rc.local
[root@openstack ~]# 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没有执行权限,于是按说明的内容执行:

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

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
开机启动是指在系统启动时自动运行特定的脚本或程序。在 Linux 系统中,有多种方法可以实现开机启动,其中包括使用 rc.local 和编写开机启动脚本。 1. rc.local 方法: rc.local 是一个在系统启动阶段自动执行的脚本文件,可以用来配置开机启动项。以下是使用 rc.local 实现开机启动的步骤: 1. 打开终端,使用文本编辑器(如 vi 或 nano)以管理员权限编辑 rc.local 文件: ``` sudo nano /etc/rc.local ``` 2. 在文件中添加需要在系统启动时执行的命令或脚本,例如: ``` #!/bin/bash # 启动脚本示例 /path/to/your/script.sh ``` 注意:确保添加的命令或脚本的执行权限正确设置(如使用 chmod 命令设置为可执行)。 3. 保存并关闭文件。 4. 确保 rc.local 文件具有可执行权限: ``` sudo chmod +x /etc/rc.local ``` 5. 重新启动系统,验证开机启动是否成功。 2. 开机启动脚本方法: 另一种常见的方法是编写一个专门的开机启动脚本,然后将其添加到系统的启动项中。以下是使用开机启动脚本方法的步骤: 1. 创建一个新的启动脚本文件,例如 `myscript.sh`: ``` #!/bin/bash # 启动脚本示例 /path/to/your/script.sh ``` 2. 保存并关闭文件。 3. 将脚本移动到 `/etc/init.d/` 目录中: ``` sudo mv myscript.sh /etc/init.d/ ``` 4. 为脚本设置执行权限: ``` sudo chmod +x /etc/init.d/myscript.sh ``` 5. 将脚本添加到系统启动项中: ``` sudo update-rc.d myscript.sh defaults ``` 6. 重新启动系统,验证开机启动是否成功。 请注意,具体步骤可能因不同的 Linux 发行版而有所差异。在某些发行版中,也可能使用 systemd 或其他工具来管理开机启动项
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值