Rsync: plusieurs machines

Bonjour,
Je ne sais pas trop comment bien configurer rsync lors de ses exécutions. Je souhaite effectuer un miroir d’un dossier de mes postes clients. c’est a dire, par exemple, que je voudrais sur chacun de mes postes de travail avoir le même dossier “Documents”.
A l’heure actuelle, j’ai écris un tout petit script sh sur chacun de mes postes de travail de façon a ce qu’il synchronise ce fameux dossier “Documents” sur mon serveur. Lorsque j’ajoute des fichiers a “Documents” sur “poste1”, ils sont correctement synchronisé sur le serveur, cependant, lorsque je synchronise a partir du “poste2” les fichiers ajouté sur le serveur lors de la synchro du “poste1” sont supprimés du serveur. Ce qui me laisse supposé que je configure mal l’exécution de rsync.
Voici a quoi ressemble le script que j’exécute sur mes poste clients:

Auriez vous un conseil ?
=)

Vas voir dans T&A, j’ai fait un tuto pour rsync et je pense qu’il répondra à tes questions;

http://forum.debian-fr.org/viewtopic.php?f=8&t=25179

Super :stuck_out_tongue:
Je vais lire ça, merci beaucoup =)

J’ai un peu de mal a sortir l’information qui me permettra de l’appliquer a mon cas plus “simple” ^^

Veux-tu être plus “descriptif”, ligne par ligne, car ce que tu veux faire n’est pas parfaitement clair pour moi.

Pas de problème =)
En fait, c’est très simple, ce que je tente de reproduire ce que propose les services tels que DropBox, ou UbuntuOne.
Pour donner une image, je souhaite avoir sur “poste1” et “poste2” le même dossier “Document”. Pour cela je suis partis sur de la synchronisation grâce a rsync, avec mon serveur de fichier comme “référence” pour mes clients.
après comme je l’est dit au dessus, j’ai une synchro qui écrase des fichiers ^^

:stuck_out_tongue:

Edit: Je vais rajouter une description “ligne par ligne”

Bonjour,

D’après le code que tu as données (mais c’est peut-être juste un extrait), tu ne synchronises que dans un seul sens : “mes modifs du poste client” -> “le serveur”. Sans code qui synchronise dans le sens serveur -> client, chaque synchronisation d’un client va écraser les modifications des autres clients.

Voila la description ligne par ligne:

Pour la description ligne par ligne, c’est très sommaire:
1 - Poste 1: lancement de rsync pour avoir un mirroir de mon dossier (vide pour commencer)
rsync -az --delete /home/bux/Documents -e ssh bux@xxxxx:/media/s5/saves/bux/all/
2 - Poste 2: lancement de rsync pour avoir un mirroir de mon dossier (vide pour commencer)
rsync -az --delete /home/bux/Documents -e ssh bux@xxxxx:/media/s5/saves/bux/all/
A ce stade c’est identique sur poste1, poste2 et le serveur.
3 - Poste 1: j’ajoute un fichier dans mon dossier Document, et je synchro
rsync -az --delete /home/bux/Documents -e ssh bux@xxxxx:/media/s5/saves/bux/all/
A ce stade Poste 1 et serveur on le même dossier.
4 - Poste 2: je lance une synchro
rsync -az --delete /home/bux/Documents -e ssh bux@xxxxx:/media/s5/saves/bux/all/
Mais cette synchro a supprimé le fichier créé sur Poste 1. Ce qui peut sembler logique ^^.

Effectivement. Donc, si je veux m’en sortir il faut qu’en premier lieux (avant de synchro client -> serveur) je synchro du serveur vers mon client. Dans ce cas, ne pas utiliser le paramètre --delete, et je devrais supprimer a partir du serveur les fichiers que je en veut plus sur mes clients.
C’est a peut près ça ?

[quote]Effectivement. Donc, si je veux m’en sortir il faut qu’en premier lieux (avant de synchro client -> serveur) je synchro du serveur vers mon client. Dans ce cas, ne pas utiliser le paramètre --delete, et je devrais supprimer a partir du serveur les fichiers que je en veut plus sur mes clients.
C’est a peut près ça ?[/quote]

Oui, regarde du côté de “exclude”, ptet.

J’ai compris ce que tu voulais faire.
Oui, moi je sauvegarde, donc copie exacte et non compressée.
MAIS, je peux aussi le faire dans l’autre sens, “rétablissement”, et ça m’est arrivé plusieurs fois.
Maintenant, ce n’est pas en simultané, bien sûr et ça ne répond pas à ta requête, donc.
Je vais te donner deux autres liens :

  [siteduzero.com/tutoriel-3-80 ... #ss_part_4](http://www.siteduzero.com/tutoriel-3-80568-transferer-des-fichiers.html#ss_part_4)  (env. 2/3 de la page)
  [man.developpez.com/man1/rsync.1.php](http://man.developpez.com/man1/rsync.1.php) ##

refarde s’il ne faut pas employer --del au lieu de --delete ?
le man est assez complet si ma mémoire est bonne

Pour --del, de ec que j’ai vu ca ne changera pas beaucoup dans mon cas je crois. Mais je vais quand même regarder un peu plus en profondeur.
Je vais regarder de prés les liens que tu m’a fournis, merci ^^

Ben je dirais :

  • soit tu pull (du serveur vers la machine) à la connexion et tu push (de la machine vers le serveur) à la déconnexion. Tu auras alors des copies identiques partout, à condition de ne pas travailler sur deux postes en même temps.
  • soit tu push uniquement mais sans l’option –delete. Seul le serveur aura alors tous les fichiers.
  • soit tu fais un pull suivi d’un push à la déconnexion, là encore sans –delete. Ça te permet d’utiliser plusieurs postes en même temps et d’avoir des copies complètes partout, à condition de ne pas travailler sur le même fichier.

À toi de voir la solution qui te convient le mieux. À adapter si besoin.
N’oublie pas de faire des tests avant, on n’est jamais trop prudent…

EDIT : Je viens de penser, si ton problème est une question de synchronisation et non de sauvegarde, il serait peut-être plus judicieux de laisser le dossier sur le serveur, et de le monter sur les machines via sshfs : doc.ubuntu-fr.org/sshfs (ce qui n’empêche pas de faire une sauvegarde tout de même).

Rooh, c’est vraiment pas bête ça. Mais a ce moment là, ce n’est pas plus simple un montage NFS ?

Je suis parti du principe que tu avais déjà ssh sur les machines. Donc rien à ajouter…
Mais effectivement, tu peux faire pareil avec d’autres systèmes de partage de fichiers : NFS, Samba, FTP, etc. Voir doc.ubuntu-fr.org/fuse
NFS serait peut-être le plus adapté dans le sens où « c’est fait pour ». Notamment si c’est uniquement des machines Linux. Maintenant, je ne connais pas trop NFS, donc je te laisse juger par toi-même…

Merci pour les renseignement. Je vais voir quel est la méthode la plus adapté. Puisque en fait je veut pouvoir accéder a mes données par internet.