|
|
|
|
Elise78, le mercredi 28 juillet 2004 à 09:42:27 #!/bin/bash
telnet << END
open $1
$2
$3
cd $4
find . -type d -exec echo {} \; > arbo.txt
exit
END
# Et a la limit une connexion ftp pour recup le fichier
# créé : si y'a plus simple je veux bien
ftp -v -i -n << FIN
open $1
user $2 $3
cd $4
mget arbo.txt
exit
FIN
# Fin du programme de récuperation de l'arborescence à
# partir d'un serveur distant !!
Salut,
Essaie avec la commande rexec. Par contre, le FTP, tu n'y couperas pas ! Michael. Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
[grofwa] Essaie avec la commande rexec. [/grofwa]
Heu oui, mais a la place de quoi ? le probleme que j'ai pour le moment c'est qu eje n'arrive pas à m'authentifier correctement. J'arrive à accéder au serveur, mais il me met directement apres que le serveur distant à mis fin à la connexion (il ne fait meme pas le reste). Sinon la comme find marche tres bien, j'ai deja tout essaye a la main et tout marche nikel. Le truc c'est que je suis hyper feniante et que du coup je prefere automatiser le plus de trucs possible surtout quand je me le tape plusieurs fois :-p |
Y a pas de mal à être fainéant, ça peut même être une qualité ;-)
Je proposais de faire le rexec à la place de ton telnet : rexec [username@hostname] [-DNn] [-l username] [-p password] command et dans command, tu mets "cd $4; find . -type d -exec echo {} \; > arbo.txt"
Ca devrait fonctionner Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
Ah ok !! :-)
Je vais essayer de ce pas. Cordialement, Melle Elise78. |
Re :-)
Bon alors j'ai essayé dans tous les sens - au cas ou j'aurai fait une erreur - j'ai vérifié ce que j'ai tapé plusieurs fois et j'ai lu le man en long et en large - mais la je ne suis pas une fleche en anglais alors un petit bémol :-p Y'a rien a faire il ne veut pas comprendre que j'ai besoisn de faire cette manip. Alors j'ai ce code : echo " test " rexec root@servdist -l login -p passwd "find . -type d > arbo.txt" echo " fin test " Mais il me redemande le mot de passe et me répond ceci : Password : rexec : Error in rexec system call rexec : (The following system error may itself be in error) rexec : Success Et la je suis completement à la masse. je ne vois pas l'erreur. Si y'a une idée du problème ... Cordialement, Melle Elise78. |
woow...
t'arrives a faire la connexion telnet manuellement ? Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
Oui sans aucun soucis.
[root]# telnet telnet> open servdist blablabla... login : root password : pass servdist:/# ls -la servdist:/# exit [root]# Je ne comprends plus rien je vais devenir folle :-~ |
Strange...
Je suis pas au boulot et je ne peux pas tester. Tu as essayé de retirer l'espace entre telnet << et END ? Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
oui, j'ai tout essayé !
sous toutes les formes du style : ... user $login $passwd ... $login $passwd ... $login $passwd ...au cas ou il ne le lirait differemment du ftp |
Je sais bien que j'avais essayé de faire du telnet comme ça et j'avais fini par me rabattre sur le rexec. Mais je pense qu'il y a des limitations et des versions différentes de rexec selon les OS... notamment pour le fait de passer le password en paramètre.
Honnêtement, je ne vois pas trop que faire de plus... Michael. Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
Bein, bien merci de m'avoir aidée, je crois que je vais abandonner et dieu sait (s'il existe bien entendu lol) que c'est dur pour moi.
Je veux trouver la solution ! Mais étant donné qu'il ne faut pas etre trop borné dans la vie, alors je mets tout ca de coté 'pour le moment'. Encore merci. Si un jour tu trouves, fais moi signe ;-) |
J'ai encore regardé sur le net, mais je n'ai pas trouvé de solution à ton problème de rexec.
Sorry ! Michael. Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
Astuce pour executer une commande sur un serveur distant,
lorsque que l'on a acces par un telnet mais que l'on ne veut pas mettre les services (rlogin,rsh,rexec) en place sur ce serveur distant. 1) Faire un script contenant les operations que l'on ferait manuellement par un telnet. (Exemple script "action.scr" suivant) #!/bin/sh sleep 2 echo "user de connexion" sleep 1 echo "mot de passe" sleep 1 echo "commande 1" sleep 1 echo "commande n" sleep 1 echo "exit" Remarque(1):Le "sleep 1" est important sur les plateformes linux Sinon le script est trop rapide est le telnet ne voit pas passer les instructions ! Augmenter la valeur du sleep suivant la commande si celle-ci a un delai de reponse long. Remarque(2):Ne pas oublier de mettre les droits d'execution sur le script (chmod 777 action.scr) 2)Ensuite lancer le script redirige vers le telnet Exemple: #sh action.scr|telnet adresseIP Resultat:Connexion telnet, avec application des commandes 'echo "cmde"' du script "action.scr" ("comme de facon manuelle"). |