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

Shell et commandes GNU Discussion :

Optimiser ping multi sites


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut Optimiser ping multi sites
    Bonjour ,

    Je me permet de vous écrire suite à un blocage au niveau de mon script :

    Le but c'est de voudrai pinger sur 2 sites : google.fr et facebook.fr , et qui me renvoie sucess si le ping a bien marché , sinon failed si sa marche pas :

    par contre je dois avoir comme résultat 2 résultat :

    par exemple si google sa marche et facebook sa marche pas doit m'afficher comme sa

    voila mon script que j'ai fais, mais je voulais plus l'optimiser genre utiliser avec des variables et des $ .

    Merci pour vos aides.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ping -c4 code42.fr > /dev/null
    then echo "code42 succes "
    else echo "code42 failed"
    fi
     
    if ping -c4 google.fr > /dev/null 
    then echo "google succes"
    else echo "google failed"
    fi

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 539
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 539
    Points : 19 361
    Points
    19 361
    Par défaut
    Bonjour,

    t'imagines si tous les débutants faisaient autant d'effort pour trouver un titre aussi original à leurs questions ?


    EDIT: titre modifié
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    merci, c'est compréhensible .

  4. #4
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Bonjour,
    Et où est le problème ?
    Si c'est le message qui ne va pas, il suffit de modifier les "echo"
    Cordialement.

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Le titre étant plus clair:
    Sous linux:
    -c1 ==> nombre de fois que l'on requête le host (ici 1 fois)
    -W1 ==> timeout en seconde si le host ne répond pas (ici 1 seconde) et uniquement si le host ne répond pas
    Cordialement.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    merci pour t'as réponse.

    En faite je voudrai le faire à une autre façon, avec des déclaration des variables et l'utilisation des $,

    genre ping = $1
    ché pas je dis, par ce que mon employeur il a pas aimé ce genre de code , il m'a dit il est très basique pas tout à fait bien , faut minimiser le max de max

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 539
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 539
    Points : 19 361
    Points
    19 361
    Par défaut
    les sites à pinguer sont-ils toujours les deux mêmes (google et facebook)
    alors un tableau (éventuellement);

    de toutes façons, un boucle pour, soit itérer sur les éléments du tableau, soit les arguments passés au script.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    D'accord, j'ai compris que vous êtiez entrain de dire, je vais voir les syntaxe comment on créer des tableau et je vais essayer de stocker des variables.

    COmme vous voyez c'est de la répétition dans mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ping -c4 code42.fr > /dev/null
    then echo "code42 succes "
    else echo "code42 failed"
    fi
     
    if ping -c4 google.fr > /dev/null 
    then echo "google succes"
    else echo "google failed"
    fi

  9. #9
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    il suffit de savoir écrire une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function check_site() {
       site="$1"
       ping -c1 -W1 ${site} &>/dev/null && echo "${site} success" || echo "${site} failed"
    }
     
    check_site code42.fr
    check_site google.fr
    check_site hackmed.com
    sinon il y a aussi l'utilitaire fping (à installer/dans les dépôts) qui est expressément fait pour ça, pinguer plusieurs machines en parallèle et en une invocation unique

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    je t'en remercie beaucoup, tout à fait ce que je veux, bien joué franchement tu m'a vraiment bcp aidé.

    T'as raison je sais pas comment faire une fonction :/ j'ai du mal à travailler avec les arguments et les {} ..

  11. #11
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Bonjour

    Contrairement aux autres langages, la fonction n'est pas un espace confiné où on repart de zéro. Les variables ne sont pas locales à moins de les déclarer comme telles. C'est juste du code mis en commun comme s'il était dans le code principal.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    D'accord, c'est compréhensible. merci bcp frère.

    Juste une autre question svp à propos de sa, est ce que y'a pas une astuce pour minimiser ces commandes de telnet, parce que je vois que sa se répète, est ce que si j'utilise la même fonction de BufferBob en faut sa va marché ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //parti test 
    telnet z.code42.fr 10050 
    telnet localhost 10050
    telnet localhost 2304
     
    // parti affichage 
    hostname
    ifconfig | head -9
    cat /etc/resolv.conf
    Merci pour compréhension

  13. #13
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Merci bcp j'ai compris ce que tu voudra dire. c'est super gentil de t'as part.

  14. #14
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    voila j'ai fais le même fonction, sa marche pas :/

    Erreur :

    check_telnet : commande introuvable


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function check_site(){
     
       site="$1"
     
       ping -c4 ${site} &>/dev/null && echo "${site} success" || echo "${site} failed"
     
    }
     
    check_site code42.fr
    check_site google.fr 
     
    function ckeck_telnet(){
       test="$2"
     
       telnet ${test} && echo "${test} bienvenue success" || echo "${test} erreur:connection refusé" 
    }
     
    check_telnet z.code42.fr 10050 
    check_telnet localhost 10050

  15. #15
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    Citation Envoyé par hackmed Voir le message
    voila j'ai fais le même fonction, sa marche pas :/

    Erreur :

    check_telnet : commande introuvable


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function check_site(){
     
       site="$1"
     
       ping -c4 ${site} &>/dev/null && echo "${site} success" || echo "${site} failed"
     
    }
     
    check_site code42.fr
    check_site google.fr 
     
    function ckeck_telnet(){
       test="$2"
     
       telnet ${test} && echo "${test} bienvenue success" || echo "${test} erreur:connection refusé" 
    }
     
    check_telnet z.code42.fr 10050 
    check_telnet localhost 10050
    Faute de frappe .

    function ckeck_telnet(){
    check_telnet z.code42.fr 10050

    k != h

  16. #16
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    haha ^^ , je te jure, franchement je suis en nul en Dev ^^

    j'ai pas l'esprit de bien regardé le code malheureusement mais t'es un (y)

    Je t'en remercie frère c'est gentil de t'as part.

  17. #17
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Pour ce code, y'a pas un moyen pour optimiser un peu le code.
    merci pour vos réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    telnet z.code42.fr 10050 &>/dev/null && echo "$? bienvenue au serveur Zabbix" || echo "$? connection refusé au serveur Zabbix"
     
    telnet localhost 10050 &>/dev/null && echo "$? bienvenue à la machine local" || echo "$? connection refusé à la machine local"
    Par contre J'ai essayé avec cette fonction mais sa me donne une erreur comme quoi argument non valide pour le port :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ckeck_telnet(){
       test="$2"
     
       telnet ${test} && echo "${test} bienvenue success" || echo "${test} erreur:connection refusé" 
    }
     
    check_telnet z.code42.fr 10050 
    check_telnet localhost 10050

  18. #18
    Invité
    Invité(e)
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       test="$2"
     
       telnet ${test}
    La commande est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    telnet <hostname> <port>
    ton code execute


Discussions similaires

  1. Bien optimiser son animation/site.
    Par hedgehog dans le forum Flash
    Réponses: 5
    Dernier message: 02/09/2006, 12h58
  2. [MySQL] Question de débutant sur l'optimisation d'un site
    Par digger dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2006, 15h29
  3. Développement d'une application multi-sites ?
    Par ChrisPM dans le forum Architecture
    Réponses: 7
    Dernier message: 09/11/2005, 14h22

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