IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Script de surveillance


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Points : 45
    Points
    45
    Par défaut Script de surveillance
    Bonjour à tous !

    Je voudrais réaliser un script qui en surveille un autre, il faudrait que je sois protégé contre:

    -Les boucles infinies (ou un programme genre host qui se bloque)
    -L'arret du script

    Pour l'arret du script il suffit de faire un grep du ps et le tour est joué, par contre pour les boucles infinies je n'ai pas trop d'idée , peut etre y a t il un outil déjà fait pour ça ?


    Merci !
    RedVivi

    PS: Si un script est déjà tout pret dans votre système je suis preneur

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Bonjour,

    Si j'ai bine compris, tu souhaiterais que ton script de surveillance soit capable de détecter que l'autre script est dans une boucle infinie.

    Le plus simple pour faire ca est de modifier le programme surveillé pour qu'il intègre un heartbeat : à chaque fois qu'il revient dans sa boucle principale, il émet l'équivalent d'un bip à l'attention du programme de surveillance ; celui-ci sait donc que l'autre c'est pas dans les choux tant qu'il reçoit ces "bips" dans une intervalle de temps prédéfinie.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Points : 45
    Points
    45
    Par défaut
    Ha ça me parait pas mal ça ! Ca porte un nom spécifique cette méthode ? C'est simple à réaliser ?

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    pour qu'un script ne puisse pas s'interompre il faut que ce soit l'inittab qui le lance en respawn même si tu fais un kill -9 dessus hop il repart;...

    pour les boucles infinies il suffit de verifier à interval régulier une variable que tu ajoutes dans le script et qui s'increment jusqu'à la valeur maximal possible par exempe 4587

    donc si cette variable prends une valeur suppérieur à celle que tu attends c'est qu'une fin de boucle n'a pas été détécté et donc qu'une boucle infinie commence...donc tu peux intervenir

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 629
    Points : 30 859
    Points
    30 859
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par redvivi Voir le message
    C'est simple à réaliser ?
    Pour ça, je ne vois que le kill. A intervalle défini, il envoie un kill (par exemple SIGUSR1) au pid du programme de surveillance qu'il doit donc connaître.

    Moi, je verrais bien le truc comme ça
    1) tu commences par définir une fonction chargée de récupérer le pid du programme de surveillance. Cette fonction sera lancée dès que le programme interceptera un signal issu du programme de surveillance et ira lire un fichier texte écrit par le programme de surveillance contenant ledit pid
    2) dès que le pid est connu, le programme peut lui envoyer des signaux

    3) le programme de surveillance, dès qu'il est lancé, écrit son pid dans un fichier texte puis envoie un signal au programme principal pour lui indiquer qu'il est à son écoute. Il est même possible de le faire plus générique pour surveiller plusieurs programmes en parallèle...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 235
    Points : 36 684
    Points
    36 684
    Par défaut autre idée
    le script surveillé écrit tous les intervalles de temps T dans un fichier:
    1. son PID et
    2. la date et l'heure.


    Le script qui surveille lit le fichier tous les T' s.
    Il vérifie que :
    1. le PID du script/process surveillé existe
    2. la date et l'heure sont inférieures a n x T


    Il ne doit pas être nécessaire de surveiller le script qui surveille!
    Il pourrait se limiter à vérifier que le script surveillé fonctionne et/ou faire le nécessaire sinon et être lancé par cron à intervalle régulier.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Points : 45
    Points
    45
    Par défaut
    J'ai une question à propos du inittab, si je renseigne dans l'inittab un script /home/script.sh, il sera exécuté en tant que quel utilisateur ?

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 629
    Points : 30 859
    Points
    30 859
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par redvivi Voir le message
    J'ai une question à propos du inittab, si je renseigne dans l'inittab un script /home/script.sh, il sera exécuté en tant que quel utilisateur ?
    root mais ça peut se contourner avec sudo
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Points : 45
    Points
    45
    Par défaut
    sudo ? tu veux dire su plutot non ?

  10. #10
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par redvivi Voir le message
    sudo ? tu veux dire su plutot non ?

    oui c'est plus propre et surtout plus portable...

Discussions similaires

  1. Recherche Script de surveillance de Dossiers FTP
    Par bibos dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 10/02/2014, 15h48
  2. Réponses: 2
    Dernier message: 14/11/2008, 10h27
  3. [deb] surveiller le déroulement d'un script ?
    Par byloute dans le forum Administration système
    Réponses: 1
    Dernier message: 21/01/2008, 17h25
  4. Script de surveillance de la replication
    Par usf70 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 02/10/2006, 13h30
  5. [web] [script] surveillance forum developpez.
    Par Choupi dans le forum Web
    Réponses: 28
    Dernier message: 14/07/2004, 05h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo