Page 1 sur 1
Script de synchronisation
Publié :
03 Sep 2011 09:13
par salvice
Bonjour à tous,
Je voudrais créer un script (perl ou bash) qui me permettrait de synchroniser certains dossiers entre mes 3 machines, toutes sous Linux.
Le besoin est assez simple : je lance le script sur la machine cible et je lui indique le dossier à synchroniser ainsi que la machine source. La machine source est considérée comme un "master" donc sur la machine cible, je veux que le dossier à synchroniser soit l'exacte réplique de celui se trouvant sur la machine source (ajout des fichiers manquants et suppression des fichiers qui ne se trouvent pas sur la machine source). Tout cela bien sur via ssh
Connaissez-vous un outil en ligne de commande qui pourrait me faciliter la tâche ?
Amicalement.
Salvatore.
Re: Script de synchronisation
Publié :
03 Sep 2011 09:17
par francois
rsync ça fait tout ça
Re: Script de synchronisation
Publié :
03 Sep 2011 10:17
par salvice
Merci François, je regarde ça
Re: Script de synchronisation
Publié :
03 Sep 2011 10:27
par francois
je n'ai pas les scripts sous la main mais en regardant le "man" je dirai :
rsync -e ssh --delete -avz srv1:/home/francois /home/francois
chose importante , par défaut la synchro se base sur le timestamp du fichier modifié mais il est possible de choisir le checksum md5 (plus long et plus de CPU mais à mon sens plus sûr).
-c, --checksum skip based on checksum, not mod-time & size
Bon après moi je sais que j'ajoute toute une liste d'exclusion et qu'il y'a pas mal d'informations sur Internet sur le foncitonnement de l'exclusion si tu ne le fais pas dans une arborescence identique.
Reste sinon la solution du versionning avec SVN ou GIT ; et je sais qu'il existe aussi "unison" qui permet de faire de la syncrhonisation entre plusieurs ordinateurs de manière syncrhone et asynchrone. Didier utilise cela intensivement donc il pourrait compléter les informations.
Tout dépend du temps à accorder je dirai :
- simple et rapide , tous types de fichiers : rsync
- plus long mais plus complet : unison
- simple et rapide , fichiers non binaires : SVN ou GIT
Re: Script de synchronisation
Publié :
03 Sep 2011 10:37
par salvice
Les dossiers que je veux garder synchrones sont mes dossiers musique, photos et documents (ce qui exclut d'emblée svn ou autre soft de versionning vu la taille des fichiers
)
Au vu de ce que j'ai lu sur rsync, il devrait parfaitement faire l'affaire
Re: Script de synchronisation
Publié :
03 Sep 2011 10:55
par didiervillers
Personnellement, j'utilise Unison et j'en suis très content, via son gui, mais il est exploitable via script et fichiers de conf avancé
Il fait de la vrai synchro, on a une colonne pour chacune des 2 machines et les conflits éventuels sont indiqués. Pour moi, que du bonheur...
Re: Script de synchronisation
Publié :
03 Sep 2011 11:30
par salvice
Je viens de jeter un œil à Unison, qui a l'air d'être une très bonne solution et qui permet une synchro bidirectionnelle en plus !
Je vais tester tout ça cet après midi
Re: Script de synchronisation
Publié :
03 Sep 2011 11:41
par francois
hésite pas à prendre des notes pour nous les partager ! voir peut être nous préparer une petite présentation pour un samedi
Re: Script de synchronisation
Publié :
03 Sep 2011 14:54
par didiervillers
Unison a tout de même quelques "défauts" : il faut qu'il soit installé sur les 2 PCs (si c'est une synchro entre 2 ordinateurs), et les versions doivent être compatibles, gare aux changements de versions de distribution non simultanés, j'ai eu une fois le problème. Ou alors utiliser FuseFS pour contourner ?
Il doit y avoir des tutos et des sites avec des exemples de fichiers de configuration.
C'est aussi une des success story de OCamL (on a un inscrit sur LoLiGrUB qui connaît bien ce langage...)
J'ai repéré la page
Je suis aussi d'avis qu'une présentation lors d'un atelier serait chouette, et/ou d'un howto/billet/résumé sur le site ! (et de même pour d'autres solutions de BU avec des études de cas concrets)