在以前的版本中直接在/etc/rc.d/rc.local中加上在执行脚本的命令即可,但是在Centos7中这样做已经不会自动执行,在rc.local文件中已经说明:
~]# 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.
touch /var/lock/subsys/local
意思就是centos7不在支持使用在rc.llocal,建议使用systemd服务,如果使用rc.local,请给/etc/rc.d/rc.local加可执行权限。
我们现在就测试一下是否可行。
创建一个脚本文件,在系统执行的时候追加内容123到lxt.txt文件中,内容:
~]# cat touch_echo.sh
#!/bin/bash
echo 123 >>/root/lxt.txt
添加可执行权限,
chmod +x /root/touch_echo.sh
在/etc/rc.d/rc.local中添加内容如下:
/bin/bash /root/touch_echo.sh
添加可执行权限:
chmod +x /etc/rc.d/rc.local
然后重启电脑,看是否会执行我们创建的脚本。
脚本自动执行了。