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 :

Définir un timeout


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Par défaut Définir un timeout
    Bonjour,
    Dans un script ksh je lance un ping et je test son code de retour, si $?=0 je lance un sqlplus, la syntaxe est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PING_CODE=$(ping serveurA 2>ping.res)
      if [[ $?-gt 0 ]]; then
          echo " le serveurA ne répond pas"
      else
        sqlplus user/mdp@schema >sqlplus.res <<FIN
    		exit
    FIN
    Je veux définir un timeOut=10 pour ne pas attendre longtemps la réponse de ping ou de sqlplus, une fois le timeOut atteind j'arrête le traitement du script.

    Est ce que quelqu'un connait la syntaxe exacte pour faire ça?

    Merci d'avance

  2. #2
    Expert confirmé 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 : 48
    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
    Par défaut
    un time out n'est pas un bon choix et tester la reponse au ping encore moins (un ping peut etre ok alors que la machine n'a pas fini son boot, que la machine est dans un niveau d'execution different, que les services oracles sont indisponnibles etc....etc....etc....ou pire encore qu'une autre machine reponde a cause d'un conflit d'ip ou encore qu'une autre machine reponde par DHCP sur cette adresse alors que la machine que tu veux joindre est eteintes bref des tas de raisons pourlesquels tester un ping est une aberation totale si on test pour lancer ensuite une commande sur cette machine.

    il est plus interessant de tester
    1-que la machine est reelement dispo (ssh ou rsh plustot que ping donc puisque le ping peu repondre avant la fin du boot de la machine par exemple)
    2-tester la presence du pmon de la base que tu veux joindre
    3-tester la presence du listner etc...
    tout ca dans une commande ssh ou rsh sur la machine distante et si ok alors executer ton sqlplus

    genre
    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
     
     rsh user@host -c "ps -ef | grep -e pmon -e listner -e......."  > /tmp/test.log
     grep -i -e pmon -e ........... /tmp/test.log
     if [[ $? -gt 0 ]]; then
            ping -c 5 host 
            if [[ $? -ne 0 ]] ; then
                 echo "machine indisponnible" .........
            else
                 echo "oracle indisponnible......"
            fi
           exit 1
     fi
     sqlplus ...........................
     if [[ $? -ne 0 ]] ; then
                echo "pb lors de l'execution de sqlplus......................"
                exit 1
     fi
     exit 0
    c'est plus pertinant comme test et surtout ca permet une meilleure analyse en cas de pepin

    bien sur faut adapter mais le principe

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 43
    Par défaut
    Je te remercie pour ces informations, je crois que je vais faire ce que tu as dis.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Définir un timeout sur une requête de récuperation
    Par xsight dans le forum Hibernate
    Réponses: 3
    Dernier message: 29/06/2010, 10h30
  2. [Web Service][SOAP] Comment définir un timeout pour une connexion SOAP ?
    Par lehic dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/06/2007, 17h07
  3. Réponses: 4
    Dernier message: 26/07/2006, 11h06
  4. Comment définir un timeout sur une socket PHP ?
    Par N3odyme dans le forum Langage
    Réponses: 7
    Dernier message: 07/05/2006, 23h04
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

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