1 votes

Ma commande s'exécute dans bash, mais pas à partir de /etc/init, qu'ai-je fait de mal ?

J'ai quelques problèmes avec cet init script.

Lorsque j'exécute la commande que je passe à start-stop-daemon à partir de la ligne de commande, cela fonctionne parfaitement, même si je l'exécute en sudoed en tant qu'userid dans le script, mais pour une raison quelconque la commande :

sudo service start deluged

imprime ça :

deluged start/stopping  

mais je ne vois pas de processus délaissés utilisant top , htop o ps aux Je ne peux pas m'y connecter sur le port qu'il est censé écouter (ni sur aucun autre port).

Je suis à court d'idées pour ce que je vais essayer ensuite. L'exécution du script init script échoue avant que quelque chose ne soit écrit dans le fichier journal, donc je n'ai aucune idée de ce qui ne va pas.

Je suis convaincu à 100% que l'utilisateur et le groupe existent et qu'ils n'ont pas été saisis, mais il est possible qu'ils soient mal configurés d'une manière ou d'une autre, puisque je les ai créés manuellement et que j'ai peut-être oublié quelque chose. Je suis également presque sûr que cet utilisateur a la permission d'accéder à tous les fichiers pertinents pour le programme.

Voici le script, je n'ai aucune idée de ce que j'ai fait de mal (et j'ai pris la plupart de ceci dans la documentation abondante de toute façon !)

#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

2voto

Mufaka Points 54

La documentation sur le déluge contient quelque chose de similaire au vôtre, mais je pense que c'est un héritage de très anciennes versions de Upstart. J'essaierais de le simplifier en commençant par quelque chose comme ça :

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

Et si cela ne fonctionne toujours pas, vérifiez les permissions sur /var/log/deluged/ y /var/log/deluged/server.log (que le debian-deluged l'utilisateur peut y écrire). Si cela ne fonctionne toujours pas, les fichiers journaux de l'upstart peuvent vous aider. Les vôtres seront /var/log/upstart/deluged.log . Si cela ne montre rien, nous pourrions essayer de lancer la commande en tant que bon utilisateur :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X