Nous sommes le Mer 23 Juil, 2025 17:54
Supprimer les cookies

Page 1 sur 21, 2 Suivantsynchronisation de répertoires distants

Pour une tâche précise, pour remplacer un logiciel propriétaire donné...

Mar 07 Fév, 2006 05:53

Bonjour,

J'espère ne pas faire de doublons car j'ai vu quelques sujets voisins, mais aucun ne répond vraiment à mes questions.

Je cherche un logiciel me permettant de synchroniser des arborescences de répertoires, par exemple entre mon ordi perso et mon compte à la fac. Il s'agirait de faire ça principalement par connexion ssh à un serveur distant, si le prog sait intégrer ssh c'est mieux, sinon je peux faire à la main un tunnel vers un serveur ftp, et il suffit alors que le programme sache parler ftp (en mode PASV quand même). Au niveau synchronisation, j'aimerai pouvoir lui indiquer une liste de répertoires et/ou fichiers de mon /home local, qu'il les compare avec ceux de mon /home distant, qu'il trouve la version la plus récente (locale ou distante) et écrase les vieux par les plus récents sans toucher à ceux qui sont identiques bien sûr.

Ce serait pour utiliser sous Linux avec KDE; si en option ça existe sous windows c'est bien mais pas du tout indispensable. J'ai entendu parler de FullSync et Unisson par exemple, je voudrais savoir si quelqu'un a un avis sur ces logiciels, ou peut m'en conseiller un autre s'il y a mieux.

Merci pour vos idées ou impressions,

Manuel
DioManU

Messages : 60
Géo : Paris

Mar 07 Fév, 2006 08:36

as tu regarde

FullSync?

application en premier page de framasoft......
3 notices publiées
kornfr

Messages : 1068

Mar 07 Fév, 2006 10:32

Tu peux aussi jeter un oeil à sitecopy, qui sert en principe à synchroniser un site en local avec le même sur un serveur. Mais on doit pouvoir l'utiliser aussi pour de simples répertoires... Sitecopy est en mode console pour plein d'architectures et il existe une interface pour Gnome nommée XSiteCopy.

Maps
Maps

Avatar de l’utilisateur
Messages : 1691
Géo : Québec

Mar 07 Fév, 2006 14:06

Regardes du côté de Rsync. Il est distribué avec la plupart des distributions et mêmes sous windows (cwrsync)...

Je m'en sers avec pour faire des backups sur mon serveur Linux depuis mon portable qui est sous XP.

Ça passe par un tunnel SSH, il te demandera ton password à chaque connexion. Donc je pense que ça répondra à tes attentes. Il suffit de faire une petit script ou .bat si tu es sous XP et zou c'est fini.

Si tu as besoin d'un exemple de code pour faire un .bat sous XP qui utilise cwRsync:

Code: Tout sélectionner
@ECHO OFF
REM *****************************************************************
REM
REM CWRSYNC.CMD - Batch file to start your rsync command (s).
REM
REM By Tevfik K. (http://itefix.no/itefix-en)
REM
REM *****************************************************************

REM ** CUSTOMIZE ** Specify where to find rsync and related files (C:\CWRSYNC)

SET CWRSYNCHOME=d:\programs\CWRSYNC

REM Set CYGWIN variable to 'nontsec'. That makes sure that permissions
REM on your windows machine are not updated as a side effect of cygwin
REM operations.

SET CYGWIN=nontsec

REM Set HOME variable to your windows home directory. That makes
REM sure that ssh command creates known_hosts in a directory you have
REM access.

SET HOME=%HOMEDRIVE%%HOMEPATH%

REM Make cwRsync home as a part of system PATH to find required DLLs

SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%;%PATH%

REM Windows paths may contain a colon (:) as a part of drive designation and
REM backslashes (example c:\, g:\). However, in rsync syntax, a colon in a
REM path means searching for a remote host. Solution: use absolute path 'a la unix',
REM replace backslashes (\) with slashes (/) and put -/cygdrive/- in front of the
REM drive letter:
REM
REM Example : C:\WORK\* --> /cygdrive/c/work/*


REM
REM Example 1 - rsync recursively to a unix server with an openssh server :
REM
REM       rsync -r /cygdrive/c/work/ remotehost:/home/user/work/
REM
REM Example 2 - Local rsync recursively
REM
REM       rsync -r /cygdrive/c/work/ /cygdrive/d/work/doc/
REM
REM Example 3 - rsync to an rsync server recursively :
REM    (Double colons?? YES!!)
REM
REM       rsync -r /cygdrive/c/doc/ remotehost::module/doc
REM
REM Rsync is a very powerful tool. Please look at documentation for other options.
REM

REM ** LIGNE DE COMMANDE A MODIFIER!!! :

rsync -rv --progress --exclude="Dossier1 à exclure/" --exclude="Dossier2 à exclure/" "/cygdrive/unitéDisqueWindows/DossierLocalWindows" tonlogin@tonip:ton_dossier_a_synchroniser_sur_le_serveur_UNIX


REM Reset environment variables
set HOME=
set CWRSYNCHOME=
set CYGWIN=
set PATH=%CWOLDPATH%


Bref tu sauves ça dans un .bat. Pour synchroniser, il suffit de double cliquer sur le fichier de commande puis d'entrer le mot de passe et zou tout se fait tout seul.

Fais moi signe si tu as besoin. Pour l'ip de ta fac... bah il y a de forte chance qu'elle soit fixe. Au pire demande au service info de ta fac.

Bon courage.
Jarod

Messages : 69
Géo : Montréal, Québec, Canada

Jeu 01 Juin, 2006 11:51

Bonjour Jarod,

As tu terminé ton tutoriel sur cwrsync car je n'en trouve pas sur internet ? Cela m'aiderai fortement !

Merci
Youpimeuh

Messages : 3

Jeu 01 Juin, 2006 17:57

un tutoriel?? J'suis pas contre l'idée mais en ce moment je suis un peu chargé. En principe avec le script ci dessus tu devrais pouvoir faire ce que tu veux il est bien commenté. Et puis il n'y a pas trente six mille choses à faire avec rsync.

Au pire pose moi des questions sur ce que tu n'arrives pas à faire avec. Je pourrai peut être t'aider (je ne suis pas un wizard de rsync... juste un utilisateur lambda)

Jarod

PS: indique si tu es sous XP ou linux ça change un peu la forme des chemins d'accès
Jarod

Messages : 69
Géo : Montréal, Québec, Canada

Lun 05 Juin, 2006 00:11

As-tu essayé déjà le coup du tunnel pour le FTP ?
Faire un tunnel ssh pour faire passer du ftp ne marche pas toujours, car le serveur FTP essaie semble-t-il de faire une connexion retour vers le client, sur un port aléatoire différent du 21. Il faudrait donc savoir à l'avance sur quel port et établir un autre tunnel dessus, ce qui n'est pas possible.
J'avais essayé, ça n'a pas marché, et c'est l'explication que j'avais trouvée sur les forums.
Sinon pour le soft de backup j'utilise SyncBack qui, à défaut d'être libre est gratuit. Il permet de faire un backup par FTP ou de disque à disque.
Arkhee

Messages : 51

Mer 07 Juin, 2006 15:28

Bonjour ,
Pour résumer le tout je suis en stage dans une TPE et ils n'ont pas beaucoup de données. Il y a 2 sites A et B. Le but serait de faire une sauvegarde de A vers B puis de B vers A grace à leur connexion ADSL la nuit.
Les 2 Serveurs A et B sont sous win2ooo.
Les machines sont sur win2oooPro et dans le meme domaine.
Pour acceder à internet ils ont chacun un IPCOP ("firewall linux") puis un routeur avec une IP fixe.
Les 2 IPcops sont reliés par un VPN.
Pour l'instant, je cherche à tester Rsync entre 2 ordinateurs du reseau du site A (reliés par un simple switch et ils se "voient" sur le reseau)
avec le script donné j'obtiens :
rsync: failed to connect to user: Connexion refused (111)
rsync error: error in socket IO (code10) at clientserver.c (107) [sender=2.6.8]

avec la ligne de commande :
rsync -arv /cygdrive/c/work user::test/

Je me suis aussi aidé de ce lien :
http://cestadire.ch/index.php?option=com_content&task=view&id=18&lang=fr
où je n'ai pas compris le 3)c) car je n'ai pas trouvé de programme dans le package qui faisait "server" ou qui lancait un processus d'ecoute en tous cas...

Mon fichier de configuration rsyncd.conf sur la machnie serveur est :
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes


J'ai beau regarder la documentation sur les erreurs, je ne comprends pas d'où ca vient ???
Si quelqu'un peut m'aider ca serait avec joie !
Merci
Youpimeuh

Messages : 3

Mer 07 Juin, 2006 16:22

Quelle version de rsync as-tu installé ? Celle dont il est question dans ton lien ou celle de cygwin ?
Dans ce dernier cas, je te recommande la lecture de cette page où il est décrit comment lancer rsync en mode "service" (daemon) afin de pouvoir écouter les demandes de connexion distantes.
Sinon, vu que tes postes sont en vpn, tu peux aussi faire un montage réseau des disques que tu as besoin de synchroniser sur chaque serveur.
Par exemple monter le disque du serveur B à la lettre Z: sur le serveur A, et réciproquement.

De cette manière chaque serveur peut synchroniser les données comme s'il était en local, d'un disque à l'autre : de Z: vers C: par exemple. Dans ce cas pas besoin de service.
Arkhee

Messages : 51

Mer 07 Juin, 2006 16:37

Merci pour les infos,

Pour mon problème, il n'y en a plus, il y a juste eu une reponse sur le lien que j'ai cité tout a l'heure et on ne peux plus se tromper, je ne savais pas comment activer le rsyncserver... Voila ma betise réparée et mon ignorance aussi !
Sinon je n'ai rien changé a mon script et il est bon, si qqun en a besoin un jour...

Merci Arkhee pour ces infos, je n'y est vraiment pas pensé et c'est super simple comme solution !
Encore fallait il y penser va t on me dire , et oui !

Merci
Youpimeuh

Messages : 3

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit