Meu comando é executado no bash, mas não no / etc / init, o que fiz de errado?

1

Estou tendo alguns problemas com este script de inicialização.

Quando eu executo o comando que estou passando para start-stop-daemon na linha de comando ele funciona perfeitamente, mesmo se eu executar ele sudoed como o userid no script, mas por alguma razão o comando:

sudo service start deluged

imprime isso:

deluged start/stopping  

mas não consigo ver nenhum processo inutilizado usando top , htop ou ps aux e não consigo me conectar a ele na porta que ele deveria estar ouvindo (ou em qualquer outra porta).

Estou sem ideias para o que tentar em seguida. Executar o script init falha antes que qualquer coisa seja gravada no arquivo de log, então não tenho idéia do que está errado.

Estou 100% convencido de que o usuário e o grupo existem e não são digitados, mas é possível que estejam mal configurados de alguma forma, já que os fiz manualmente e talvez tenha perdido alguma coisa. Eu também tenho certeza que o usuário tem permissão para acessar todos os arquivos relevantes para o programa.

Aqui está o script, eu não tenho ideia do que eu fiz de errado (e eu tirei a maior parte disso da documentação inundada de qualquer maneira!)

#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  
    
por Racheet 04.01.2015 / 20:30

1 resposta

2

Os documentários do deluge têm algo parecido com o seu, mas acho que isso é uma ressaca de versões muito antigas do Upstart. Eu tentaria simplificá-lo para algo como isto primeiro:

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

E se isso ainda não funcionar, verifique as permissões em /var/log/deluged/ e /var/log/deluged/server.log (que o usuário debian-deluged pode escrever lá). Se ainda não estiver funcionando, os arquivos de log upstart podem ajudá-lo. Seu será /var/log/upstart/deluged.log . Se isso não mostrar nada, poderíamos tentar iniciar o comando como o usuário certo:

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
    
por Oli 05.01.2015 / 12:38