1. 程式人生 > >centos7下/etc/rc.local文件裏配置的開機啟動項不執行的解決辦法

centos7下/etc/rc.local文件裏配置的開機啟動項不執行的解決辦法

mpat rip pre pat 正在 nbsp his local other

習慣於在/etc/rc.local文件裏配置我們需要開機啟動的服務,這個在centos6系統下是正常生效的。但是到了centos7系統下,發現/etc/rc.local文件裏的開機啟動項不執行了!仔細研究/etc/rc.local文件內容,發現問題如下:

[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

重啟服務器後發現/etc/rc.local文件裏設置的開啟啟動項能夠正常執行了。由此可見,雖然centos版本的變遷,/etc/rc.local、/etc/rc.d/rc.local正在處於被棄用的路上。

centos7下/etc/rc.local文件裏配置的開機啟動項不執行的解決辦法