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

Modules Perl Discussion :

module Net::SSH2 curiosité exécution commande ssh ?


Sujet :

Modules Perl

Vue hybride

tintin3158 module Net::SSH2 curiosité... 16/08/2014, 12h03
dmganges Bonjour, je n'utilise pas ce... 16/08/2014, 14h00
tintin3158 Je vais tenter avec ce... 16/08/2014, 14h12
dmganges Oui, c'est l'impression que... 16/08/2014, 14h35
Lolo78 Voici ce que dit la... 16/08/2014, 20h52
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Par défaut module Net::SSH2 curiosité exécution commande ssh ?
    Bonjour à tous

    j'utilise le module : Net::SSH2 afin de de me connecter et exécuter des commandes sur serveur.

    Ce que je ne comprend pas c'est que si je mets pas un "sleep 2" par exemple après la commande il ferme le tunnel avant d'avoir réllement exécuter la commande sans attendre le retour.

    Je souhaiterai donc avoir vos avis !

    voic un extrait de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    my $chantest = $ssh2_test->channel();
     
    	$chantest->exec('/etc/init.d/smbd stop');
     
             sleep 2;#si je l'enlève le ne fait rien
     
    $chantest->close();
    j'utilise se module car il me permet de me connecter avec des clefs ssh directement

    Je vous remercie

  2. #2
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 447
    Par défaut
    Bonjour,
    je n'utilise pas ce module, mais la doc fait état d'un timeout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    timeout ( timeout_ms )
    Enables a global timeout (in milliseconds) which will affect every action.
    
    libssh2 version 1.2.9 or higher is required to use this method.
    As-tu essayé ?

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Par défaut
    Je vais tenter avec ce paramètre et je vous ferai signe.

    Se qui m'embête un peut concrètement avec le timeout si je comprends bien c'est un temps prédéfinit?

    Car si j'envoie un "cp" d'un gros fichier par exemple et que le timeout est trop court ça risque de me couper la commande avant.. je suppose.

    Je n'ai pas tous les éléments, mais je teste ça lundi.

    Je reste surpris que le programme n'attends pas tous simplement qu'on lui rende la main pour fermer la connexion ssh.(mais je reste un débutant !)

    je vous remercie

  4. #4
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 447
    Par défaut
    Oui, c'est l'impression que j'ai eu aussi :
    "Enables a global timeout"

    Ça me semble s'appliquer depuis le début de la connexion jusqu'à la déconnexion
    Bon test

  5. #5
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Voici ce que dit la documentation de la bibliothèque libssh2 sous-jacente:

    Set the timeout in milliseconds for how long a blocking the libssh2 function calls may wait until they consider the situation an error and return LIBSSH2_ERROR_TIMEOUT.

    By default or if you set the timeout to zero, libssh2 has no timeout for blocking functions.
    Autrement dit, si on met ce paramètre à 0, il n'y aura pas de timeout.

    Mais si un appel qui ne devrait prendre normalement que moins d'une seconde s'éternise, il peut y avoir de bonnes raisons de l'arrêter au bout de, par exemple, 20 ou 30 secondes, afin soit de le relancer, soit de vérifier quelque chose d'autre avant de le relancer. De même que quand on surfe sur le Web, parfois quand une page ne vient pas, on a intérêt à essaier de la redemander plutôt que d'attendre sans fin une réponse peut-être définitivement perdue quelque part dans les sables mouvants du WWW.

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Par défaut
    Bonjour,

    Effectivement vu sous cette angle ça peut être utile. Par contre comment fait on dans ce cas lorsqu'on à une commande à exécuter dont le temps peut être très variable.

    comme la copie d'un fichier qui diffère selon la taille. Ça me parait plus compliqué de prévoir le temps d’exécution.

    L'idéal serait effectivement que le programme rende la main après l'exécution.

    Concernant le timeout je ne sais pas trop quand le placer est-ce au moment de la construction de l'objet ?
    ex ssh2->new(timeout ( timeout_ms ))


    J'avoue que j'ai un peu de mal encore avec l'utilisation des modules.

    je vous remercie

Discussions similaires

  1. Module net::ftp, répéter une commande
    Par peuf23 dans le forum Modules
    Réponses: 2
    Dernier message: 08/01/2011, 22h27
  2. Exécuter commande SSH dans un script PHP.
    Par Greg05000 dans le forum Linux
    Réponses: 0
    Dernier message: 14/04/2010, 00h19
  3. Réponses: 6
    Dernier message: 04/11/2008, 09h51
  4. [SSH2] test d'exécution de commande ssh
    Par boriskov dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/07/2008, 19h46
  5. pb module NET::SSH::W32Perl
    Par ramislebob dans le forum Modules
    Réponses: 1
    Dernier message: 11/07/2006, 21h21

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