Comment rediriger une commande vers une variable avec TCL

Fermé
gabo - 10 mai 2015 à 23:00
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 - 14 mai 2015 à 17:59
Bonjour,
je souhaiterais écrire un script pour recuperer dans une variable une valeur contenu dans un serveur distant en me connectant via ssh .
avec un script bash , je peux le faire :
var=$(ssh nomduserveur@0.0.0.0 cd /home/user;ls -lrt |wc -l)

Mon probleme est que le script doit tourner seul toutes les 5minutes sans que j'ai a mettre le mot de passe moi même alors il me faut écrire le me script avec TCL afin d'utiliser l'outil expect.
Merci de m'aider a écrire ce script ci -dessus avec le language TCL .
voici ce que j'ai dejà tenté sans succès.
set var [send -- "ssh nomduserveur@0.0.0.0 \"cd /home/user/;ls -lrt|wc -l\"\r"]



A voir également:

3 réponses

mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
11 mai 2015 à 22:39
Une solution "propre" pourrait consister à utiliser une clé ssh :
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant

Il faudra juste à lancer au début de ta simulation la commande
ssh-add


Bonne chance
0
gabo24 Messages postés 2 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 26 mai 2015
12 mai 2015 à 19:42
Bonjour!
merci pour ta reponse . Cest vraiment une solution propre , mais il faut que j'y arrive sans utiliser une clé car ici l'administrateur refuse Totalement l'utilisation de clé ssh sur les machines en production! Je ne peux Rien modifier sur les machines en production ; je peux simplement me connecter et collecter des données .
Si c'est faisable dans un script bash je me dit que ça doit pouvoir être possible avec Expect qui utilise le language TCL.
merci.
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
14 mai 2015 à 17:59
En shell voici comment pourrais faire :
https://stackoverflow.com/questions/16928004/how-to-enter-ssh-password-using-bash
https://stackoverflow.com/questions/12202587/automatically-enter-ssh-password-with-script

Dans l'idée il faut envoyer la commande, et quand "password" ou "Password" s'affiche envoyer le mot de passe. Je ne connais pas TCL assez pour te dire s'il y a des outils similaire.

Quelqu'un ici semble avoir le même problème :
http://www.wellho.net/forum/The-Tcl-programming-language/How-to-ssh-and-execute-a-particular-command.html

Ici un début de solution (mais qui suppose que soit une clé est installée, soit le mode passe est désactivé) :
https://wiki.tcl-lang.org/page/remote+ssh+tcl

Après je ne sais pas trop comment t'aider à part chercher avec toi sur google...

Bonne chance
0