我正在尝试让我的脚本在启动时运行。我使用的是 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
确保这是正确的地方你打算做什么。并且要小心什么您在该脚本中执行此操作,因为它可能会扰乱您的启动过程。