rc.local 找不到我的脚本

rc.local 找不到我的脚本

我正在尝试让我的脚本在启动时运行。我使用的是 Ubuntu 服务器 16.04。

以下是 /etc/r.local 的确切内容。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 1

/home/myusername/myscript.sh 15 &
exit 0

以下是启动时 /var/log/syslog 的相关输出:

rc.local[1157]: /etc/rc.local: 15: /etc/rc.local: /home/myusername/myscript.sh: not found

有问题的脚本具有 AFAICT 所需的所有权限。

myusername@myserver:~$ ls -l /home/myusername/myscript.sh
-rwxr-xr-x 1 root root 199 Jan 23 09:19 /myusername/myscript.sh

当手动执行 rc.local 或我的脚本时,它运行良好。

rc.local 在启动时无法访问该文件的原因可能是什么?

答案1

如果您有权更改,rc.local您还可以将脚本放入/usr/local/bin、 或/usr/bin,或者即使/bin有必要,它们在启动时比 更可能可用/home,后者可能位于不同的驱动器或分区上。

另请阅读更多关于使用rc.local确保这是正确的地方你打算做什么。并且要小心什么您在该脚本中执行此操作,因为它可能会扰乱您的启动过程。

相关内容