rsync sur IBM AIX
Le
scratt

Bonjour,
J'utilise rsync pour synchroniser le contenu de deux repertoires sur deux serveurs differents.
Le script le voici :
<Debut du script>
#! /bin/ksh
export SRC=/nim/mksysb/
export DEST=/nim/mksysb/
/usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync $SRC tsmsrv:$DEST
/usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync tsmsrv:$DEST $SRC
<Fin du script>
Alors, ce script fonctionne sauf que parfois il se bloque et ne fait rien !!!
Que faire, comment voir ce qui ne va pas ?
Merci
J'utilise rsync pour synchroniser le contenu de deux repertoires sur deux serveurs differents.
Le script le voici :
<Debut du script>
#! /bin/ksh
export SRC=/nim/mksysb/
export DEST=/nim/mksysb/
/usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync $SRC tsmsrv:$DEST
/usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync tsmsrv:$DEST $SRC
<Fin du script>
Alors, ce script fonctionne sauf que parfois il se bloque et ne fait rien !!!
Que faire, comment voir ce qui ne va pas ?
Merci
Bonjour,
Je ne sais pas pourquoi ton script s'arrête, mais je ne comprends pas
tes deux commandes. Visiblement tu fais une première synchronisation d'un
répertoire A vers un répertoire B, puis tu re-synchronise le répertoire
B vers le répertoire A ? Est-ce vraiment utile, étant donné que le
répertoire B doit après la première synchro être identique au répertoire
A ?
Tu peux exécuter le script à la main, éventuellement en mettant l'option
--progress pour voir sur quel fichier le processus s'arrête s'il
commence son travail, ou sinon en spécifiant l'option --log-file=FILE
pour enregistrer la sortie dans un fichier.
--
Alex
Oui c'est vrai une seule synchro suffit !!!
j'i tout relancé avec l'option --progress et j'attends de voir.
Par contre l'option --log-file semble ne pas etre reconnu sur mon AIX
5.3
merci
Bon alors voila,
J'ai plusieurs remarques à apporter :
Tout d'abord je suis root, j'ai tous les droits :
/etc$ulimit -a
time(seconds) Illimité
file(blocks) Illimité
data(kbytes) Illimité
stack(kbytes) 4194304
memory(kbytes) Illimité
coredump(blocks) 2097151
nofiles(descriptors) 2000
/etc$
Mon script :
export SRC=/source/
export DEST=/destination/
/usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync $SRC host2: $DEST
Avec l'option --progress j'ai pu remarqué que mon traitement se bloque ic i :
building file list ...
11 files to consider
fichier_A
2157589760 93% 11.38MB/s 0:00:13
building file list ...
11 files to consider
./
fichier_A
2157301184 93% 11.45MB/s 0:00:13
Donc blocage au meme endroit quasiment !!!
Ensuite ma seconde remarque est que je veux synchroniser deux repertoires d istants situés sur host1 et host2.
Il se trouve que sur host2 il y a 13 fichiers et seulement 11 sur host1. A la fin de la synchronisation je devrais avoir 13 fichiers partout non ?
ET bien deja, quand je lance la synchro a patir de host1, rsync m'indique s eulement 11 fichiers à synchroniser !!!
Peut etre y a t il une option a rajouter ?
on dirait que des que les fichiers sont superieurs à 2 Go ca deconne !!!
[...]
Aucune idée, utilise strace (ou similaire) pour savoir d'où vient le
problème.
Non. rsync ne fait la copie que dans un sens. Regarde la page man de
rsync (http://rsync.samba.org/ftp/rsync/rsync.html), dans la section
EXAMPLES, le cas d'une synchronisation symétrique (l'option -u).
rsync n'a pas ce genre de limite à ma connaissance, mais il se peut que
le filesystem de destination interdise les grandes tailles.
-- Alain.
le 24/05/2012 à 09:37, scratt a écrit dans le message
Il y a quand même une légère différence : si dans A et B des fichiers
ont été ajoutés, la première synchronisation va ajouter les fichiers en
plus de A dans B, la seconde ajouter les fichiers en plus de B dans A.
Par contre, les fichiers modifiés à la fois dans A et dans B seront
équivalents à ce qu'il étaient dans A.
Si ce comportement n'est pas souhaité, on utilise --delete et on ne fait
que de A vers B ; ensuite B sera parfaitement équivalent à A.
--
Benoit Izac
Ça peut être un problème de version, de 32 bits...
--
Le travail est la malédiction des classes qui boivent.
O. Wilde.
Juste pour comprendre :
J'ai deux repertoires A et B respectivement sur HostA et HostB. /A et /B so nt alimentes chaque jours entre 10H00 et 15H00 par des fichiers de natures differentes.
Mais le soir après 15H00 je veux que /A et /B soit synchroniser. Quels pa rametres dois utiliser ?
Merci
Rsync a ma connaissance n'est pas le bon outil pour faire de la
synchronisation bi-directionnelle. Si le même fichier est modifié sur A
et B avant ta synchronisation, soit tu perdras les modifications d'un
côté, soit tu préserveras les différences des deux côtés selon les
options que tu passe à rsync.
Tu devrais plutôt te tourner vers: unison
http://www.cis.upenn.edu/~bcpierce/unison/
--
Alex
"Alex F."
Par définition, aucun outil n'est capable de faire de la synchronisation
bi-directionnelle sans assistance.
--
Paul Gaborit -
Ca y est j'ai la solution :
Le probleme venait de ma version de rsync. avec la derniere version ca marc he nickel comme avant. Je synchroniose parfaitement mes deux repertoires di stant.
j'avais un pb de version par rapport a mon firmware et avec 3.0.6 ca marche nickel.
Donc pour ceux qui ne le savent pas, sachez que rsync est une excellente so lution pour synchroniser deux repertoires distant. Il faut installer evidem ment rsync des deux cotes.
Merci
/$rsync --version
rsync version 3.0.6 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 32-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, no IPv6, batchfiles, inplace,
append, ACLs, no xattrs, no iconv, no symtimes
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
/$