[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4752: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4754: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4755: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4756: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
LoLiGrUB ASBL • Consulter le sujet - Script de synchronisation

Script de synchronisation

Indiquez directement vos question, besoin ou avis sur des thèmes techniques (logiciel, OS, matériel,...)

Script de synchronisation

Message par salvice » 03 Sep 2011 09:13

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 8-)

Connaissez-vous un outil en ligne de commande qui pourrait me faciliter la tâche ?

Amicalement.

Salvatore.
salvice
Débutant
 
Message(s) : 26
Inscription : 30 Mai 2011 19:16
Localisation : Jemappes

Re: Script de synchronisation

Message par francois » 03 Sep 2011 09:17

rsync ça fait tout ça
francois
Guru du Libre
 
Message(s) : 429
Inscription : 17 Avr 2011 14:51
Localisation : Mons

Re: Script de synchronisation

Message par salvice » 03 Sep 2011 10:17

Merci François, je regarde ça :D
salvice
Débutant
 
Message(s) : 26
Inscription : 30 Mai 2011 19:16
Localisation : Jemappes

Re: Script de synchronisation

Message par francois » 03 Sep 2011 10:27

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
francois
Guru du Libre
 
Message(s) : 429
Inscription : 17 Avr 2011 14:51
Localisation : Mons

Re: Script de synchronisation

Message par salvice » 03 Sep 2011 10:37

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 :P )

Au vu de ce que j'ai lu sur rsync, il devrait parfaitement faire l'affaire ;)
salvice
Débutant
 
Message(s) : 26
Inscription : 30 Mai 2011 19:16
Localisation : Jemappes

Re: Script de synchronisation

Message par didiervillers » 03 Sep 2011 10:55

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...
Avatar de l’utilisateur
didiervillers
C.A.
 
Message(s) : 590
Inscription : 18 Avr 2011 21:50
Localisation : Sirault

Re: Script de synchronisation

Message par salvice » 03 Sep 2011 11:30

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 ;)
salvice
Débutant
 
Message(s) : 26
Inscription : 30 Mai 2011 19:16
Localisation : Jemappes

Re: Script de synchronisation

Message par francois » 03 Sep 2011 11:41

hésite pas à prendre des notes pour nous les partager ! voir peut être nous préparer une petite présentation pour un samedi ;)
francois
Guru du Libre
 
Message(s) : 429
Inscription : 17 Avr 2011 14:51
Localisation : Mons

Re: Script de synchronisation

Message par didiervillers » 03 Sep 2011 14:54

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)
Avatar de l’utilisateur
didiervillers
C.A.
 
Message(s) : 590
Inscription : 18 Avr 2011 21:50
Localisation : Sirault


Retour vers Besoin d'aide

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 11 invité(s)

cron