[Shell] Gérer un timeout d'une connexion SSH
Résolu/Fermé
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
-
20 mars 2008 à 10:29
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 21 mars 2008 à 09:16
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 21 mars 2008 à 09:16
A voir également:
- Timeout informatique
- Le code ascii en informatique - Guide
- Jargon informatique - Télécharger - Bureautique
- C'est quoi url en informatique - Guide
- Souris informatique - Guide
- Onglet (informatique) - Guide
6 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 mars 2008 à 11:01
20 mars 2008 à 11:01
Salut,
Et comme ça, c'est pas mieux :
;-))
Édit : Pour récupérer le temps :
Et comme ça, c'est pas mieux :
time -p ssh.sh > temp.log 2>&1???
;-))
Édit : Pour récupérer le temps :
sed -n '/^real/ s/.* \(.*\)\..*/\1/p' temp.log:-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 mars 2008 à 13:14
20 mars 2008 à 13:14
Et gérer ça depuis l'appel dans le script ce ne serait pas mieux ?
ssh ou telnet génère un code d'erreur (255 et 1 respectivement) en cas d'échec, pourquoi ne pas se servir de ce code retour ? Même à la limite avec la commande "time" (extrait) :
ssh ou telnet génère un code d'erreur (255 et 1 respectivement) en cas d'échec, pourquoi ne pas se servir de ce code retour ? Même à la limite avec la commande "time" (extrait) :
CODE RENVOYÉ Si la commande a été invoquée, le code de sortie est celui de la com- mande. Sinon, il s'agit de 127 si la commande n'a pas été trouvée, 126 si elle a été trouvée mais n'a pas pu être invoquée, et une autre valeur non-nulle (1-125) si quelque chose d'autre a échoué.;-))
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
121
20 mars 2008 à 14:54
20 mars 2008 à 14:54
Je le gère déjà le code erreur :)
Le problème c'est que certains problème, comme une mauvaise résolution de nom DNS (un nom pas associé a une IP), des identifiants/mots de passe incorrects, où encore ce fichu timeout, ne renvoie pas de code erreur !
Avec les autres, j'ai pu me servir du message d'erreur à la tentative de connexion pour identifier, annoncer et isoler l'erreur, mais pour un timeout...ben ça bouge pas ^^
Au final, je me sers du timeout expect de 30 secondes, ma question est : est-il possible de le réduire de 10 secondes ? :)
Merci encore Jipicy
P.S.: petite question bonus tant que j'y suis...pour tester si un fichier existe il y a la fonction:
if [ -f $fichier ]
Mais si je veux tester le fait que le fichier n'existe pas, quel doit etre la syntaxe...(question de propreté)...j'aimerai ne pas avoir a mettre ca :
if [ -f $fichier ]
then
continue
else
blablabla...
fi
Les "continue", c'est le mal, c'est pas optimisé et pour le débuggage bonjour ! :P
Le problème c'est que certains problème, comme une mauvaise résolution de nom DNS (un nom pas associé a une IP), des identifiants/mots de passe incorrects, où encore ce fichu timeout, ne renvoie pas de code erreur !
Avec les autres, j'ai pu me servir du message d'erreur à la tentative de connexion pour identifier, annoncer et isoler l'erreur, mais pour un timeout...ben ça bouge pas ^^
Au final, je me sers du timeout expect de 30 secondes, ma question est : est-il possible de le réduire de 10 secondes ? :)
Merci encore Jipicy
P.S.: petite question bonus tant que j'y suis...pour tester si un fichier existe il y a la fonction:
if [ -f $fichier ]
Mais si je veux tester le fait que le fichier n'existe pas, quel doit etre la syntaxe...(question de propreté)...j'aimerai ne pas avoir a mettre ca :
if [ -f $fichier ]
then
continue
else
blablabla...
fi
Les "continue", c'est le mal, c'est pas optimisé et pour le débuggage bonjour ! :P
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 mars 2008 à 15:02
20 mars 2008 à 15:02
Extrait de timeout :
The default timeout period for expect is 10 seconds but may be set, for example to 30, by the command “set timeout 30”. Timeout is an expect global.;-))
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
121
20 mars 2008 à 15:18
20 mars 2008 à 15:18
C'est super bizarre...quand je met un echo $TEMPS récupéré par le real, j'ai un timeout au bout de
Tu as une idée d'où peuvent venir les 60 secondes en trop ?
70 Secondes
Tu as une idée d'où peuvent venir les 60 secondes en trop ?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
20 mars 2008 à 16:06
20 mars 2008 à 16:06
Non ;-((
Tiens je te remets ce lien, peut être y trouveras-tu quelques explications... ;-))
Tiens je te remets ce lien, peut être y trouveras-tu quelques explications... ;-))
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
121
20 mars 2008 à 16:16
20 mars 2008 à 16:16
Je l'ai lu en long en large et en travers j'ai commencé par ça ^^
Je vais chercher, je te tiens au courant ...
Au pire si demain je trouve pas je publierai tout...tout fonctionne :)
Je vais chercher, je te tiens au courant ...
Au pire si demain je trouve pas je publierai tout...tout fonctionne :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
121
21 mars 2008 à 09:15
21 mars 2008 à 09:15
Salut,
Bon je n'ai absolument pas trouvé d'où venait ces 60 secondes en trop...Peut être le timeout du script shell lui-même est de 60 secondes...
Bref ce n'est pas grave, le script est terminé, je m'occupe ce matin de le publier a la FAQ.
Problème résolu
Bon je n'ai absolument pas trouvé d'où venait ces 60 secondes en trop...Peut être le timeout du script shell lui-même est de 60 secondes...
Bref ce n'est pas grave, le script est terminé, je m'occupe ce matin de le publier a la FAQ.
Problème résolu
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
21 mars 2008 à 09:16
21 mars 2008 à 09:16
Ok, merci ;-))
20 mars 2008 à 11:26
Oui, c'etait la bonne syntaxe en effet, cependant cela ne permet pas de gérer le timeout d'un routeur qui ne réponds pas, comme je l'esperais...
Le script bloque, et dès lors que je l'arrete avec Ctrl+C, LA le real s'affiche dans le fichier temp et est traité...
Tu as une autre solution ? Parce que là...je bloque...