我有一个脚本可以在我的 ubuntu 上启动服务。我使用“# update-rc.d projeto defaults”将其添加到启动机器上。但它仍然无法随启动机器启动。我想是因为我使用其他用户来启动脚本“su - www-data -c ...”。但我不确定,因为我以 root 身份运行 update-rc.d 命令。当我从终端执行脚本时,它会询问用户 www-data 的密码。
有人知道发生了什么吗?非常感谢! Felipe
#!/bin/bash
# /var/www/boinc/projeto/bin/start
function action {
su - www-data -c "/var/www/boinc/projeto/bin/$1"
}
case $1 in
start|stop|status)
action $1
;;
*)
echo "ERRO: usar $0 (start|stop|status)"
exit 1
;;
esac
答案1
我编写了一个在命令之间带有睡眠功能的脚本并且它起作用了......
#!/bin/bash
# /var/www/boinc/projeto/bin/start
su - www-data -c "/var/www/boinc/projeto/bin/stop"
sleep 20
su - www-data -c "/var/www/boinc/projeto/bin/start"