Les Allergies
Alimentaires
Posez votre question Signaler

[shell] ssh et rsync [Résolu]

Koozag 399Messages postés 3 juillet 2008Date d'inscription 28 mars 2012Dernière intervention - Dernière réponse le 16 févr. 2010 à 08:26
Bonjour,
voila plusieurs mois que je travail sur un serveur de sauvegarde et de partage avec automatisation générale.
Je vous présente brèvement l'existant : toutes les machines sont sous Fedora 11
1 serveur Maitre
10 serveurs adjacents.
Le principe et de dupliquer des données du serveur maitre vers les serveurs adjacents.
J'ai réussi a le faire grâce à SSH et RSYNC :
ssh root@10.190.0.10
rsync -avz linux-A38@10.190.0.10::clamav ~/clamav/ --password-file=/home/linux-A38/.rsync_pass
J'ai mis ces 2 commandes dans un script : rsync_A38.sh
j'ai éditer le crontab pour éxcuter ce script à des horaires précises, le but étant de dupliquer sur différents horaires pour les 10 serveurs afin de ne pas surcharger le réseau. Le problème de ce script et qu'il s'éxécute trop bien, en fait il se connecte en root sur la machine 10.190.0.10 (grâce à des clé publique, ...) mais ne lance pas la seconde partie du script.
Je ne sais pas si c'est clair ^^'
J'aimerais que le script lance le ssh root[...] et qu'une fois sur la machine adjacentes il éxécute le rsync...
merci d'avance.
Cordialement
Lire la suite 

[shell] ssh et rsync »

8 réponses
Réponse
+1
moins plus
Bonjour,
Je pense avoir bien compris ton problème;

En faisant un 'man ssh', tu verras que la syntaxe est "ssh [options diverses] [commande]".
Ce qui signifie que la commande a exécuter sur la machine distante est à placer à la fin des paramètres de la commande ssh; et entre quotes s'il te plait (pour que celà ne compte que comme un seul argument).

Ce qui ne te donnera qu'une seule commande, sur une seule ligne :
ssh root@10.190.0.10 'rsync -avz linux-A38@10.190.0.10::clamav ~/clamav/ --password-file=/home/linux-A38/.rsync_pass'

C'est OK maintenant ?

Cordialement,
MC
Ajouter un commentaire
Réponse
+0
moins plus
C'est parfait !!!
Merci beaucoup pour la rapiditié et la qualité de la réponse ;)

Mon problème est que j'avais essayé en mettant après ssh mais sans les quotes ... -_-'

Merci encore ;)
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Un truc me turlupine ;-\

Pourquoi emploies-tu cette syntaxe (les deux points) :

rsync -avz linux-A38@10.190.0.10::clamav ~/clamav/ 

Cela laisse supposer que tu utilises un serveur "rsync", exact ?
Ajouter un commentaire
Réponse
+0
moins plus
en fait j'ai lu un tuto : http://prendreuncafe.com/...

le fait d'utiliser les deux points permet l'utilisation d'un dossier partagé.
J'ai suivi le tuto qui correspondait bien a ce que je désirais, après je ne sais pas s'il y a mieux (surement ^^')
jipicy- 15 févr. 2010 à 14:39
Ben si tu utilises un serveur rsync, le ssh n'est plus nécessaire de ce fait ;-\
Ajouter un commentaire
Réponse
+0
moins plus
en fait le fait d'utiliser ssh évite (grace au clé publique/privée) de ne demander aucun mot de passe, avant avec rsync seulement il fallait une intervention humaine ... c'est le seul moyen que j'ai trouvé pour pouvoir effectuer la commande...
jipicy- 15 févr. 2010 à 15:58
Alors pourquoi mets-tu "--password-file=/home/linux-A38/.rsync_pass" (syntaxe propre au serveur rsync) à la fin de ta commande puisque ssh est sensé t'authentifier ?

En fait la commande "ssh" ne te sert à rien dans ton cas ;-(
Ajouter un commentaire
Réponse
+0
moins plus
en fait la syntaxe de mon message n'était pas bon, je vais réexpliquer ^^'
Pour faire simple, j'ai 2 PC pour le moment : PC1(qui contient les données à synchro) & PC2(qui recevra les données)
PC1 : grâce a crontab il exécute un script : ssh root@10.190.0.10 '/home/linux-A38A/rsync-dsf.sh' ce script demande au PC2 d'éxécuter un second script
PC 2 exécute un script : rsync -avz linux-A38@10.190.0.10::clamav ~/clamav/ --password-file=/home/linux-A38/.rsync_pass
PC 3 : envoi les données

C'est assez complexe, mais c'est une facon pour que sa soit le PC1 qui exécute à horaires précises et non pas les PC adjacents
Ajouter un commentaire
Ce document intitulé « [shell] ssh et rsync » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?