Моя команда запускается в bash, но не из /etc/init, что я сделал не так?
У меня возникли проблемы с этим сценарием инициализации.
Когда я запускаю команду, которую я передаю start-stop-daemon из командной строки, она работает отлично, даже если я запускаю sudoed в качестве идентификатора пользователя в сценарии, но по какой-то причине команда:
sudo service start deluged
печатает это:
deluged start/stopping
но я не вижу каких-либо затопленных процессов, использующих top
, htop
или же ps aux
и я не могу подключиться к нему через порт, который он должен прослушивать (или любой другой порт).
У меня нет идей, что попробовать дальше. Запуск сценария инициализации завершается ошибкой, прежде чем что-либо записывается в файл журнала, поэтому я понятия не имею, что происходит не так.
Я на 100% убежден, что пользователь и группа существуют и не опечатаны, но, возможно, они каким-то образом неправильно настроены, поскольку я сделал их вручную и, возможно, что-то пропустил. Я также уверен, что у пользователя есть разрешение на доступ ко всем соответствующим файлам для программы.
Вот сценарий, я понятия не имею, что я сделал не так (и я все равно взял большую часть из затопленной документации!)
#deluged - Deluge daemon
#
# The daemon component of Deluge BitTorrent client. Deluge UI clients
# connect to this daemon via DelugeRPC protocol.
description "Deluge daemon"
author "Deluge Team"
start on filesystem and static-network-up
stop on runlevel [016]
respawn
respawn limit 5 30
env uid=debian-deluged
env gid=debian-deluged
env umask=007
exec start-stop-daemon -S -c $uid:$gid -k $umask -x /usr/bin/python /usr/bin/deluged -L info -l /var/log/deluged/server.log -c /var/opt/deluged/config -p 8112 -- -d
1 ответ
В документации по потопам есть что-то похожее на ваше, но я думаю, что это похмелье от очень старых версий Upstart. Я бы попробовал упростить это до следующего:
description "Deluge daemon"
author "Deluge Team"
start on filesystem and static-network-up
stop on runlevel [016]
respawn
respawn limit 5 30
setuid debian-deluged
setgid debian-deluged
umask 007
exec /usr/bin/python /usr/bin/deluged -L info -l /var/log/deluged/server.log -c /var/opt/deluged/config -p 8112 -- -d
И затем, если это все еще не работает, проверьте разрешения на /var/log/deluged/
а также /var/log/deluged/server.log
(что debian-deluged
пользователь может написать там). Если это все еще не работает тогда, файлы журнала выскочки могут помочь Вам. Твой будет /var/log/upstart/deluged.log
, Если это ничего не показывает, мы могли бы просто попробовать запустить команду как правильный пользователь:
sudo -u debian-deluged -g debian-deluged /usr/bin/python /usr/bin/deluged -L info -l /var/log/deluged/server.log -c /var/opt/deluged/config -p 8112 -- -d