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 26/03/2008, à 15:11

libre

[Résolu] Trouver un répertoire, le copier et cela via SSH

Je pense que je suis dans le bon forum.
J'ai 2 pc, dont un me sert comme serveur local.

Je cherche donc une commande qui puisse me trouver un répertoire (sur mon serveur), le copie sur le bureau (sur le pc d'ou la commande à été entrée) et cela via SSH.

J'ai donc pratiqué par tâtonnement, mon premier essai

ssh fab@192.168.1.10

m'a permis de me connecté au serveur.

Mon deuxième essai

ssh fab@192.168.1.10 "find /media/disk -iname essai1 -type d"

m'a permis de trouver le répertoire essai1 sur le serveur.

Mon dernier essai

ssh fab@192.168.1.10 "find /media/disk -iname essai1 -type d -exec scp -r {} ~/Bureau \;"

Ne me copie pas le répertoire essai1 sur le bureau d'ou la commande à été entrée mais bien sur le bureau du serveur

Quel est la solution pour obtenir une copie du répertoire sur le bureau d'ou la commande à été entrée ?

Dernière modification par libre (Le 27/03/2008, à 19:35)


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#2 Le 26/03/2008, à 15:20

libre

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Je viens d'essayer

ssh fabrice@192.168.1.100 'bash -c "find /media/disk -iname essai1 -type d -exec scp -r {} ~/Bureau \;"'

mais le résultat est le même, c'est à dire qu'il ne me copie pas le répertoire essai1 sur le bureau d'ou la commande à été entrée mais bien sur le bureau du serveur


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#3 Le 26/03/2008, à 15:21

Yannick_LM

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

scp -r fab@host:/chemin/vers/essai1 ~/Bureau

Par contre, je vois pas trop comment le faire en une seule ligne.

Sinon, sshfs me paraît être une bonne idée wink

Dernière modification par Yannick_LM (Le 26/03/2008, à 15:21)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#4 Le 26/03/2008, à 15:32

nyquist

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

essayes ça :

ssh fab@192.168.1.10 "find /media/disk -iname essai1 -type d -exec scp -r {} host:~/Bureau \;"

ou host est le nom de ta machine bureau (genre fab-desktop) ou l'adresse ip de celui ci.


Inscrit sur http://parrains.linux.free.fr/
La liste des groupes d'utilisateur de linux : http://www.aful.org/gul/liste
mettez [Résolu] dans le titre lorsque votre problème est solutionné
membre de http://www.lilolipo.net

Hors ligne

#5 Le 26/03/2008, à 15:38

libre

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Merci pour vos réponse,
nyquist, avec ta commande j'obtiens ce message

ssh: connect to host 192.xxx.x.x port 22: No route to host
lost connection

Et pas de copie (sur aucun des pc)

Yannick_LM, ta commande fonctionne mais le problème c'est de la combiné avec find

Dernière modification par libre (Le 26/03/2008, à 15:49)


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#6 Le 26/03/2008, à 15:46

libre

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Correction, je me suis trompé dans l'adresse Ip.
J'ai donc modifié la commande et j'obtient l'erreur suivante

ssh: connect to host 192.168.1.10 port 22: Connection refused
lost connection

Et pas de copie (sur aucun des pc)

Dernière modification par libre (Le 26/03/2008, à 15:55)


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#7 Le 26/03/2008, à 15:59

libre

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Par contre un

scp -r fab@192.168.1.10:~/Bureau/essai1 ~/Bureau

fonctionne. Il me copie bien le répertoire essai1 sur le pc d'ou la commande à été entrée, et sans message d'erreur.

Comment combiné cette commande avec un find ?

Dernière modification par libre (Le 26/03/2008, à 16:09)


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#8 Le 26/03/2008, à 16:48

nyquist

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Comme d'hab je lance une piste sans trop y croire mais en changeant ssh par rsh
et en changeant le -exec par un pipe avec xargs... bref a mouliner mais doit y avoir une solution.

rsh 192.168.1.10 "find /media/disk -iname essai1 -type d" | xargs scp -r fab@192.168.1.10:{} ~/Bureau

Inscrit sur http://parrains.linux.free.fr/
La liste des groupes d'utilisateur de linux : http://www.aful.org/gul/liste
mettez [Résolu] dans le titre lorsque votre problème est solutionné
membre de http://www.lilolipo.net

Hors ligne

#9 Le 26/03/2008, à 17:18

libre

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

J'ai essayé ta commande nyquist

rsh 192.168.1.10 "find /media/disk -iname essai1 -type d" | xargs scp -r fab@192.168.1.10:{} ~/Bureau

aucune copie et il me donne comme erreur 

No such file or directory

Je pensais avoir trouvé avec cette commande, qui me semblait correct

scp -r $(ssh fab@192.168.1.10 "find /media/disk -iname essai1 -type d") ~/Bureau

je l'ai essayé > aucune copie et il me donne comme erreur

cp: ne peut évaluer `/media/disk/essai1': Aucun fichier ou répertoire de ce type

Je commence à désespéré


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#10 Le 26/03/2008, à 18:06

Yannick_LM

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Amha, c'est juste pas possible de combiner un find.

Qu'est-ce qui te gêne dans sshfs ? C'est vraiment sympa, comme solution.


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#11 Le 26/03/2008, à 18:53

libre

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Ce n'est pas que cela me gêne Yannick_LM.
Le but est lors d'une réinstallation d'ubuntu via le live cd, après l'installation de base, j'avais l'intention de récupérer mes fichiers de configuration (sources.list, xorg.conf, sauvetage evolution, fstab, ....) via mon serveur.
SSH me permet d'y avoir accès immédiatement sans installation/modification supplémentaire. SSH-client étant installé par défaut sur le live CD sans modification du fstab ou téléchargement.

Un find permet de retrouver ses fichiers sans en connaître la localisation (d'une pierre, deux coups). Maintenant, si cela n'est pas possible avec un find, je dois me diriger vers une autre méthode.

Dernière modification par libre (Le 26/03/2008, à 18:57)


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#12 Le 26/03/2008, à 21:19

nyquist

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

alors fait le en 2 fois :

1er étape je copie tous les fichiers avec un find -exec
eventuellement je compresse le tout dans une archive.
puis je le récupere en scp .
(et je mets le tout dans un seul script).

je penses qu'il ne faut pas se focaliser sur e fait de tout faire en une seule ligne mais plutot faire en sorte de n'avoir qu'une commande a lancer (donc un script).

Dernière modification par nyquist (Le 26/03/2008, à 21:20)


Inscrit sur http://parrains.linux.free.fr/
La liste des groupes d'utilisateur de linux : http://www.aful.org/gul/liste
mettez [Résolu] dans le titre lorsque votre problème est solutionné
membre de http://www.lilolipo.net

Hors ligne

#13 Le 26/03/2008, à 23:04

Yannick_LM

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

je penses qu'il ne faut pas se focaliser sur e fait de tout faire en une seule ligne mais plutot faire en sorte de n'avoir qu'une commande a lancer (donc un script).

Un gros +1. Un truc bien long sur une seule ligne, ça s'oublie, ça se perd, c'est pénible à adapter.

Un joli script avec tout ce qu'il faut ça permet de définir des zolies variables, ça s'adapte bien, et ça se partage.

(même si je dois reconnaître que les one-liner sont bien rigolos à écrire)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#14 Le 27/03/2008, à 18:10

Saito

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

nyquist a écrit :

essayes ça :

ssh fab@192.168.1.10 "find /media/disk -iname essai1 -type d -exec scp -r {} host:~/Bureau \;"

ou host est le nom de ta machine bureau (genre fab-desktop) ou l'adresse ip de celui ci.

libre a écrit :

Correction, je me suis trompé dans l'adresse Ip.
J'ai donc modifié la commande et j'obtient l'erreur suivante

ssh: connect to host 192.168.1.10 port 22: Connection refused
lost connection

Et pas de copie (sur aucun des pc)

La solution de nyquist marche (en tout cas chez moi), sauf que Libre doit installer un serveur ssh sur son deuxième pc aussi ( d'où le «Connection refused») puisque le scp est lancé de 192.168.1.10 vers son pc local.

ssh machin@server 'find /media/disk -iname essai1 -type d -exec scp {} bidule@mon_pc:~/Bureau \;'

Avec authentification par clés car tu n'auras pas accès au prompt lors du scp. (et puis les clés, y'a que ça de vrai!)

PS: Mais en fait ce n'est pas ce que tu veux (j'avais pas tout lu neutral), donc tu peux passer par la commande que tu as écrit plus haut, un peu modifiée, sans avoir à installer de serveur ssh sur le pc à réinstaller:

scp -r fab@192.168.1.10:"$(ssh fab@192.168.1.10 'find /media/disk -iname essai1 -type d')" ~/Bureau

Dernière modification par Saito (Le 27/03/2008, à 18:24)


Aku-Soku-Zan_Shinsengumi

Hors ligne

#15 Le 27/03/2008, à 19:31

libre

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Merci pour vos réponse
Je viens d'essayer ta commande Saito, à savoir

scp -r fab@192.168.1.10:"$(ssh fab@192.168.1.10 'find /media/disk -iname essai1 -type d')" ~/Bureau

Elle fonctionne du tonnerre, sans installer SSH server, en une seule ligne.
C'est ce que je cherchais en vain, je la note illico presto.


Merci pour votre aide

Dernière modification par libre (Le 27/03/2008, à 19:34)


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#16 Le 27/03/2008, à 19:58

Saito

Re : [Résolu] Trouver un répertoire, le copier et cela via SSH

Par contre, arrange-toi pour que ton dossier de sauvegarde (essai1) ait un nom unique, pour ne pas que find retourne plusieurs noms car cela casserait le scp.
Par contre si find ne renvoit rien, tu verras ce message d'erreur:

scp: .: not a regular file

Aku-Soku-Zan_Shinsengumi

Hors ligne