Forum Linux.redhat Transformer un script en démon

Posté par  .
Étiquettes : aucune
0
1
sept.
2008
Bonjour,

J'ai une Red Hat Enterprise Linux ES release 4 (Nahant Update 6)

J'ai un script qui démarre une application de licence de type flexnet. Pour lancer le script je tape la commande ./rc.script start. Et pour l'arrêter je tape la commande ./rc.script stop.
Tout fonctionne très bien en manuel mais j'aimerais que cette commande l'exécute au démarrage du serveur.
J'ai pourtant copier ce scirpt dans les répertoire suivant :

/etc/rc.d/rc2.d/S99rc.script
/etc/rc.d/rc4.d/S99rc.script
/etc/rc.d/init.d/rc.script
/etc/rc.d/rc3.d/S99rc.script

Les fichiers S99rc.script étant des liens vers /etc/rc.d/init.d/rc.script. Le démon ne démarre pas.

Merci de votre aide.
  • # single ?

    Posté par  (site web personnel) . Évalué à 2.

    Ton systeme demarre en un runlevel différent de : 2 3 4 ?

    Système - Réseau - Sécurité Open Source

    • [^] # Re: single ?

      Posté par  . Évalué à 1.

      Merci Nono

      Je ne suis pas en single ... mais comment sait on le Run Level du système quand il est en train de tourner ?
      • [^] # Re: single ?

        Posté par  (site web personnel) . Évalué à 1.

        Ce que tu cherches se trouve dans la documentation Redhat.
        Il faut juste prendre le temps de la lire.

        Système - Réseau - Sécurité Open Source

        • [^] # Re: single ?

          Posté par  . Évalué à 1.

          la réponse :
          runlevel #root

          Est plus positive .... Merci quand même
          • [^] # Re: single ?

            Posté par  (site web personnel) . Évalué à 1.

            Bien sur, il y a un minimum de travail de recherche à effectuer.

            Comme la citation de NeoX le dit si bien:

            --
            Apprendre par les autres, c'est bien.
            Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux

            Système - Réseau - Sécurité Open Source

            • [^] # Re: single ?

              Posté par  . Évalué à 1.

              avec un indice de recherche c'est quand même mieux sinon on ne sait ce qu'on cherche
              allez @+
              • [^] # Re: single ?

                Posté par  (site web personnel) . Évalué à 1.

                1 er lien sur google avec comme recherche:

                redhat runlevel


                le mot "runlevel" etait dans ma reponse, c'etait une piste
                pas une solution toute faite.

                Système - Réseau - Sécurité Open Source

  • # PATH, environnement...

    Posté par  . Évalué à 2.

    Le démon ne démarre pas, mais le script si, au moins ? (est-ce que ton script émet des logs, au moins de débug, quand il se lance ?)

    Si le script tourne mais pas le démon: ça peut être un problème d'environnement; en intéractif il hérite du PATH de ton shell par exemple, si tu lance le démon sans spécifier le chemin complet et qu'il est à un endroit pas standard, le PATH d'init minimaliste qui est hérité par les scripts ne le trouvera pas.
  • # chkconfig

    Posté par  . Évalué à 3.

    sous redhat 4, la norme est d'utiliser chkconfig pour régler les questions de démarrage/arrêt de scripts.

    tu vérifies que ton script a dans l'en-tête la description pour chkconfig, genre:

    #!/bin/sh
    # chkconfig: 2345 90 10
    # description: Starts and stops the daemon


    2345 indiquent les runlevels, 90 et 10 l'ordre de lancement et d'arrêt.

    vérifies bien que tu supportes les arguments start , stop , et status.

    tu mets le script dans /etc/init.d/

    et tu fais

    chkconfig --add nomduscript

    et voilà...
    • [^] # Re: chkconfig

      Posté par  . Évalué à 1.

      Merci Ragoutoutou

      Peux tu m'en dire plus sur les Run Level?
      Je vois dans ta réponse 3 valeurs. je pense que 90 doit correspondre au 90eme démon lancé, et 10 doit doit correspondre au 10éme démon arrêté.
      Mais à quoi correpond 2345 ?
      S'il n'y pas de de démon 89, est ce que le démon 90 sera quand même lancé ?
      • [^] # Re: chkconfig

        Posté par  . Évalué à 3.

        2345 = runlevels 2,3,4 et 5

        la description des runlevels est dans "man init"

        les runlevels 2 et 4 sont non définis et configurables par l'utilisateur, le 3 et le 5 correspondent respectivement à l'environnement multi-utilisateur en mode texte et en mode graphique.

        Bien à toi.
      • [^] # Re: chkconfig

        Posté par  . Évalué à 3.

        partie 2 de ta question, les n° sont exécutés séquentiellement


        si tu as 3 démons avec n° de démarrage 18 56 78, ils s'exécuterons dans cet ordre, même s'il n'y a rien entre.

        C'est surtout important dans le cadre où il y a une dépendance...

        Par exemple, un serveur web doit avoir un n° de démarrage plus élevé que la couche réseau et un n° d'arrêt inférieur au n° d'arrêt de cette dernière.
        • [^] # Re: chkconfig

          Posté par  . Évalué à 1.

          merci pour toutes vos réponses,

          mais j'ai un autre problème :
          chkconfig --add rc.script
          le service rc.script ne prend pas en charge chkconfig

          J'ai bien rajouté la ligne
          #!/bin/sh
          # chkconfig: 5 99 10

          dans le script
          • [^] # Re: chkconfig

            Posté par  . Évalué à 2.

            c'est bien mis en tête du script? Le script est bien dans le /etc/init.d/ ?
            • [^] # Re: chkconfig

              Posté par  . Évalué à 1.

              #!/bin/sh
              # chkconfig: 5 99 10

              sont les 2 premières ligne du script.
              /etc/init.d est un lien vers rc.d/init.d
              • [^] # Re: chkconfig

                Posté par  (site web personnel) . Évalué à 1.

                comme l'a dit ragoutoutou:

                vérifies bien que tu supportes les arguments start , stop , et status.

                Système - Réseau - Sécurité Open Source

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.