/etc/rc.local开启自启不执行问题

时间:2022-04-13 15:38:51

  起因:服务器重启rsync服务没有起来,rsync启动已经写入/etc/rc.local中

[root@localhost ~]# more /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.

/usr/bin/rsync --daemon

  排查,写的启动没问题,也是全路径,查看 /etc/rc.local 文件,是一个链接,链接到 /etc/rc.d/rc.local,查看 /etc/rc.d/rc.local 文件,发现没有执行权限。

[root@localhost ~]# chmod +x /etc/rc.d/rc.local
[root@localhost ~]# ll /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 527 Aug 17  2018 /etc/rc.d/rc.local
[root@localhost ~]# reboot

  加上执行权限之后,再重启发现服务自动起来了。

[root@localhost ~]# lsof -i:873
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsync   879 root    4u  IPv4  18513      0t0  TCP *:rsync (LISTEN)
rsync   879 root    5u  IPv6  18514      0t0  TCP *:rsync (LISTEN)
[root@localhost ~]# netstat -lntup | grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      879/rsync           
tcp6       0      0 :::873                  :::*                    LISTEN      879/rsync           
[root@localhost ~]#