У меня есть один скрипт для запуска службы на моей Ubuntu. Я добавил его на загрузочную машину, используя "# update-rc.d projeto default". Но это все еще не начинается с загрузочной машины. Я думаю, потому что я использую другого пользователя для запуска сценария "su - www-data -c ...". Но я не уверен, потому что я запускаю команду update-rc.d от имени пользователя root. Когда я выполняю скрипт из терминала, он запрашивает пароль пользователя www-data.

Кто-нибудь знает, что происходит? Большое спасибо! Фелипе

#!/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 ответ1

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"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .