Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/09/2011, à 22:19

alefriedx

script bash de connexion ssh sans invite

Bonjour,

je voudrais lancer un même script sur plusieurs noeuds d'un petit cluster "maison"  auxquels j'ai accès en ssh via une clé (pas de demande de password au moment du login donc).

J'ai essayé ça :

 for ((i = 1; i <= 10; i += 1))
 do 
  ssh "moi@node"$i
  echo "logged to node"$i
  sleep 1
  sh ./MT_boucle.sh
  echo "process lancé sur node"$i
 done

mais ducoup, à chaque connexion il me retourne l'invite de commande de "node"$i

Est ce que quelqu'un ici saurait me dire s'il est possible de faire en sorte que ça se logge en ssh sur chaque node successivement sans me renvoyer l'invite de commende à chaque tour ?
Ducoup, si ça marche, j'aurai besoin de la commande bash pour me déconnecter du node, une idée ?

qsub n'est pas encore configuré pour lancer des jobs, donc si vous avez des propositions alternatives à ça, je suis preneur !

Merci !

Hors ligne

#2 Le 08/09/2011, à 19:22

sputnick

Re : script bash de connexion ssh sans invite

Cherche

pssh

sur le net, ça sera plus pro(pre).

Si tu tiens à bidouiller (c'est toujours plus drôle soi même et didactique), tu doit utiliser la sortie standard (ou encore rajouter un exit après le lancement du scritp distant).

Exemple :

for ((i = 1; i <= 10; i++)); do 
    ssh "moi@node"$i <<'MARK'
    echo "logged to node"$i
    sleep 1
    sh ./MT_boucle.sh && echo "process lancé sur $HOSTNAME" || echo "process échoué sur $HOSTNAME" 
MARK
done

Tu notera les quotes simples sur MARK (here-doc) pour ne pas interpoler les variables comme $HOSTNAME.

J'ai ajouté" la gestion de l'erreur en sortie du script distant.


Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr

Hors ligne

#3 Le 08/09/2011, à 19:51

alefriedx

Re : script bash de connexion ssh sans invite

ouais, merci !

pssh a l'air pas mal, mais je ne vois pas ce que fait 'MARK' et MARK en fin de boucle.
J'ai googlé mais rien trouvé ... C'est une variable normale, qui aurait pu s'appeler 'TOTO' ?
Si c'est ça, <<, c'est pas l'entrée standard ?
Et en fin de boucle, ça fait quoi ?

Bref, en tout cas, ya aussi moyen avec qsub je dirais ...

Merci pour les tuyaux !

Dernière modification par alefriedx (Le 08/09/2011, à 19:52)

Hors ligne

#4 Le 08/09/2011, à 20:46

sputnick

Re : script bash de connexion ssh sans invite

C'est un here-doc comme déjà précisé.

LANG=C man bash | less +/here-doc

Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr

Hors ligne

#5 Le 09/09/2011, à 10:50

alefriedx

Re : script bash de connexion ssh sans invite

OK, merci,

1 point de culture en plus !

Hors ligne