Question Comment configurer un service pour qu'il s'exécute au démarrage


J'ai un démon qui fonctionne bien si je le lance manuellement avec le service commander:

ricardo@ricardo-laptop:~$ sudo service minidlna start                   
 * Starting minidlna minidlna                                                              [ OK ] 

mais il n'est pas configuré pour démarrer automatiquement lorsque le PC redémarre.

Comment puis-je le configurer pour qu'il démarre automatiquement, même si personne n'est connecté au PC?


208
2017-10-25 13:46


origine


@ user154721 Quels arguments avez-vous mis à jour-rc.d pour que le démarrage automatique fonctionne? J'ai essayé différentes options mais je n'ai pas eu de chance. - BennyTheBen


Réponses:


sudo update-rc.d minidlna defaults

Cela devrait ajouter le service au système de démarrage automatique. Mais si vous obtenez:

System start/stop links for /etc/init.d/minidlna already exist.

Faire la commande

sudo update-rc.d minidlna enable

P.S.: Pour plus de détails, consultez la page de manuel de update-rc.d en tapant la commande man update-rc.d


241
2017-10-25 14:09



merci, et si j'obtiens cette sortie lors de l'exécution de cette commande?: System start/stop links for /etc/init.d/minidlna already exist. - Ricardo Reyes
J'ai grep pour minidlna dans tous les fichiers de / var / log et je n'ai trouvé aucune mention du service au démarrage - Ricardo Reyes
Si minidlna n'écrit pas dans un fichier journal, vous ne le trouverez nulle part. Est-ce que cela peut échouer parce qu'il n'y a pas de connexion réseau au démarrage? Essayez de regarder la configuration si cela est possible, ouvrez le débogage et / ou la journalisation pour savoir ce qui ne va pas. - LassePoulsen
@RicardoReyes utilise sudo update-rc.d -f minidlna remove pour supprimer les liens existants. - Dogweather
Je me retrouve sous l'erreur update-rc.d: /etc/init.d/usermanage: le fichier n'existe pas - Rizwan Patel


Parfois, vous devez exécuter un script au démarrage, par exemple exécuter une configuration iptables au démarrage. Vous n'avez donc pas à exécuter le script manuellement à chaque redémarrage.

Vous pouvez exécuter votre script au démarrage de Ubuntu en l’ajoutant à /etc/init.d/rc.local fichier. Regardez les étapes ci-dessous.

  1. Ouvrir /etc/rc.local fichier avec cette commande:

    vim /etc/rc.local
    
  2. Ajoutez votre script que vous souhaitez exécuter au démarrage, par exemple:

    sh /home/ivan/iptables.sh 
    echo 'Iptable Configured!'
    
  3. Examinez les commentaires inclus dans ce fichier et assurez-vous qu'une sortie 0 est à la fin.

  4. Enregistrez les fichiers. Et votre script s'exécutera au démarrage.


31
2017-10-25 13:52



Les commentaires de /etc/init.d/rc.local dans Ubuntu 12.04 indiquent "Short-Description: Exécutez /etc/rc.local s'il existe". - Sanghyun Lee
Est-ce que cette méthode émettrait une commande "shutdown" au service ou tuerait simplement le processus lors de l'arrêt du système d'exploitation? - Vadim Chekan
Vadim, rc.local est juste lancé au démarrage, rien n'est réalisé à l'arrêt. Le processus serait probablement tué par le système d'exploitation à l'arrêt. - Weboide
FYI: La différence entre rc.local vs l'ajouter à init, c'est que rc.local est exécuté à la fin de la séquence de démarrage de l'initialisation, plutôt que comme une partie de celle-ci - BobTuckerman


  • Pour démarrer un démon au démarrage:

    update-rc.d service_name defaults
    
  • Retirer:

    update-rc.d -f service_name remove
    

defaults => niveaux d'exécution par défaut 2,3,4 et 5

Exemple:

update-rc.d tomcat7 defaults

26
2018-01-15 12:20



Lorsque je fais cette commande, j'obtiens "les liens de démarrage / arrêt du système pour /etc/init.d/tomcat7 existent déjà". Cependant, lorsque je redémarre, il ne démarre pas tomcat, je dois toujours faire "service tomcat7 start". - John Little
dans mon cas sudo update-rc.d myservice par défaut se termine toujours sans sortie et le service ne démarre pas au démarrage ou avec sudo service myservice start qui se termine également en silence. sudo /etc/init.d/myservice starttravaille cependant - axk