Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lancer un script au démarrage de Debian

Sujet résolu
    8 décembre 2017 à 22:39:17

    Bonjours à tous,

    Tout d'abord je vous explique la situation: Depuis peu j'ai commencé à louer un VPS chez OVH (mon premier) pour diverses utilisations.

    Pour tâter un peu le terrain, j'ai mis un bot Discord (JavaScript) que j'avais fait dessus pour voir si tout fonctionne bien, nickel.

    Et là problème: J'ai essayé de faire un script pour le lancer au démarrage de mon VPS mais ça ne fonctionne pas !

    Voici les étapes que j'ai suivies pour essayer de le faire fonctionner au démarrage:

    Mon script est dans /etc/init.d

    chmod a+x /etc/init.d/bot_autostart.sh

    update-rc.d /etc/init.d/bot_autostart.sh defaults

    Et rien ne se passe...

    J'ai essayé de mettre la commande dans .bashrc (parce que j'ai pas de rc.local) pour tester mais cela s'ouvre après le démarrage de la session ce qui fait que je suis obligé d'avoir mon terminal d'ouvert pour que mon bot fonctionne...

    Donc voici ma question: Comment peut-on lancer le script au démarrage de Debian avant l'ouverture de session?

    Merci d'avoir de vos réponses.

    • Partager sur Facebook
    • Partager sur Twitter
      8 décembre 2017 à 23:10:14

      salut,

      les versions récentes des distributions modernes n'utilisent plus init.d

      il faut regarder du côté de systemd.

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        8 décembre 2017 à 23:22:41

        Si c'est du systemd, la syntaxe est la suivante :

        systemctl enable MonService.service
        

        Qui fait référence un un fichier (généralement dans /etc/systemd/system/). Tu va donc devoir en créer un pour ton script

        -
        Edité par Heziode 8 décembre 2017 à 23:25:10

        • Partager sur Facebook
        • Partager sur Twitter
        Ensemble créons l'avenir !
          9 décembre 2017 à 0:02:29

          J'ai testé et ça ne marche pas j'ai du raté quelque chose :/

          Voici mon script (dans /usr/bin)

          #!/bin/sh
           
          start(){
          	su node --harmony /home/bot/bot.js
          }

          Et voici mon service (dans /etc/systemd/system )

          [Unit]
          Description=Bot Autostart
          
          [Service]
          Type=oneshot
          ExecStart=/usr/bin/bot_autostart.sh
          
          [Install]
          WantedBy=multi-user.target


          Après j'ai bien fait

          systemctl enable bot_autostart.service

          Mais rien en se passe..




          -
          Edité par OlivierDaPozzo 9 décembre 2017 à 0:15:00

          • Partager sur Facebook
          • Partager sur Twitter
            9 décembre 2017 à 1:03:15

            salut,

            dans ton script, trois choses :

            il n'est pas nécessaire de devenir root dans un script de démarrage : le démarrage se fait en tant que root

            su, tout seul, va vouloir faire passer l'utilisateur en root, et attendre que l'utilisateur entre le mot de passe de root.
            mais de toute façon, ça ne sert pas ici.

            et, tu l'exécutes quand ta fonction ?

            • Partager sur Facebook
            • Partager sur Twitter

            Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

              9 décembre 2017 à 16:15:45 - Message modéré pour le motif suivant : Message complètement hors sujet


                15 mai 2018 à 14:32:10

                il faut modifier comme ci-dessous ton script.sh (le start servai à l'époque pour le init.d)
                #!/bin/sh

                su node --harmony /home/bot/bot.js

                • Partager sur Facebook
                • Partager sur Twitter

                Lancer un script au démarrage de Debian

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown