Forum Programmation.shell Script shell surveillance et log avec date de l'état d'un process

Posté par  .
Étiquettes : aucune
0
9
oct.
2006
Bonjour,
Je suis un newbie de la programmation en shell et j'aurais besoin d'un peu d'aide svp.

Je cherche à faire un script shell qui me permet de verifier qu'un process tourne sur la machine et qui si le process est down le log dans un fichier avec la date et l'heure du down.

Merci d'avance pour vos propositions !
  • # moauis

    Posté par  . Évalué à 3.

    mouais, ca aurait intéressant que tu te casse un peu la nénétte pour nous expliquer ou tu en es de ta démarche.

    Donc, je te dirais que CRON permet de lancer des scripts shell de façon cycliques.

    Pour l'aide
    man cron ou
    http://www.lea-linux.org/cached/index/Admin-admin_tools-auto(...)

    sinon, la fonction ps permet d'avoir la liste des processus qui sont lancé.

    Voilà pour les pistes de départ, maintenant, à toi de jouer.

    Bon courage
    • [^] # Re: moauis

      Posté par  . Évalué à 1.

      ok merci pour linfo.
      désolé de ne pas avoir été plus précis, voila ou jen suis :


      #! /bin/sh
      echo "Check ossim-server process"
      if pidof ossim-server
      then
      echo "ossim-server UP" > /root/ossim-server.log
      else
      echo "ossim-server DOWN" > /root/ossim-server.log
      fi

      le souci que j'ai c'est que il n'y a qu'une ligne dans le fichier de log et je voudrais qu'a chaque fois le scipt incrémente une ligne, de plus je voudrais avoir la date et l'heure notées dans le fichier de log pour savoir quand mon serveur tombe.

      Merci d'avance.
      • [^] # Re: moauis

        Posté par  . Évalué à 2.

        ">" remplace le contenu d'un fichier par la sortie d'une commande.
        ">>" ajoute à la fin d'un fichier la sortie d'une commande.

        Donc pour avoir tous les enregistrements :
        echo "message" >>fichier_log

        Pour utiliser le texte renvoyé par une commande comme argument d'une seconde commande, insère entre guillemets inverses `` le nom de la première commande.

        Donc pour ajouter l'heure des enregistrement, utilise :
        echo `date` "message >>fichier_log



        Cela donne pour ton script :

        #! /bin/sh
        echo "Check ossim-server process"
        if pidof ossim-server
        then
        echo `date` "ossim-server UP" >> /root/ossim-server.log
        else
        echo `date` "ossim-server DOWN" >> /root/ossim-server.log
        fi


        Pour finir, voici deux bonnes documentations :
        http://casteyde.christian.free.fr/system/linux/guide/online/(...)
        le livre "UNIX Shell" chez Eyrolles.
        • [^] # Re: moauis

          Posté par  . Évalué à 1.

          Merci pour l'aide, j'ai fini mon script le voila, maintenant je ne sais pas trop quoi mettre dans mon crontab pour lexecuter toutes les minutes, merci

          #! /bin/sh
          if pidof ossim-server
          then
          echo "`date "+%d/%m/%y %H:%M"` ossim-server UP" >> /root/ossim-server.log
          else
          echo "`date "+%d/%m/%y %H:%M"` ossim-server DOWN" >> /root/ossim-server.log
          fi

          Encore merci

Suivre le flux des commentaires

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