我有一台 VPS,我想在 VPS 启动时执行一个脚本。该脚本位于/home/user_name/unicorn_start.sh
以下内容:
#!/bin/bash
exec /etc/init.d/unicorn_appname start
以root身份,我授予了该脚本权限,因此它可以执行:chmod +x unicorn_start.sh
然后,在/etc/rc.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.
/home/user_name/unicorn_start.sh || exit 1
exit 0
但是我重启服务器后,脚本似乎没有执行。
另外,我尝试将其添加到crontab
,方法是crongtab -e
:
@reboot /home/user_name/unicorn_start.sh
但这也没有帮助。
我做错了什么?任何帮助都将不胜感激。谢谢。
答案1
所以@Alex,你在这里做错了很多事情……你说你给了脚本可执行的“权限”,但实际上这意味着你让脚本可执行。你可以通过执行找到文件的实际权限,stat --format "%a" file_name
但你是对的,你需要脚本可执行才能运行。无论如何,当你stat --format "%a" file_name
在文件上运行这个时,权限是什么755
?。如果没有执行chmod 755 file_name
,这应该可以解决问题(如果你仍在使用 crontab)。