rsync sur IBM AIX

15 réponses
Avatar
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

10 réponses

1 2
Avatar
Alex F.
scratt a écrit:
Bonjour,



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>




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 ?

Alors, ce script fonctionne sauf que parfois il se bloque et ne fait rien !!!


Que faire, comment voir ce qui ne va pas ?




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.

Merci



--
Alex
Avatar
scratt
On 23 mai, 09:19, "Alex F." wrote:
scratt a écrit:> Bonjour,

Bonjour,

> J'utilise rsync pour synchroniser le contenu de deux repertoires sur de ux
> 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 tsms rv:$DEST
> /usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync tsmsrv:$D EST $SRC

><Fin du script>

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épert oire
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 ?

> Alors, ce script fonctionne sauf que parfois il se bloque et ne fait ri en !!!

> Que faire, comment voir ce qui ne va pas ?

Tu peux exécuter le script à la main, éventuellement en mettant l'o ption
--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.

> Merci

--
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
Avatar
scratt
Le lundi 21 mai 2012 12:37:21 UTC+2, scratt a écrit :
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 host2: $DEST
/usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync host2:$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



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 !!!
Avatar
Alain Ketterlin
scratt writes:

[...]
Mon script :
export SRC=/source/
export DEST=/destination/
/usr/local/bin/rsync -avz --rsync-path=/usr/local/bin/rsync $SRC host 2:$DEST


Avec l'option --progress j'ai pu remarqué que mon traitement se bloq ue ici :
building file list ...
11 files to consider
fichier_A
2157589760 93% 11.38MB/s 0:00:13



Aucune idée, utilise strace (ou similaire) pour savoir d'où vient le
problème.

Ensuite ma seconde remarque est que je veux synchroniser deux
repertoires distants 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 ?



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

on dirait que des que les fichiers sont superieurs à 2 Go ca deconne !!!



rsync n'a pas ce genre de limite à ma connaissance, mais il se peut que
le filesystem de destination interdise les grandes tailles.

-- Alain.
Avatar
Benoit Izac
Bonjour,

le 24/05/2012 à 09:37, scratt a écrit dans le message
:

> #! /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

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 ?



Oui c'est vrai une seule synchro suffit !!!



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
Avatar
Emmanuel Florac
Le Thu, 24 May 2012 05:51:15 -0700, scratt a écrit:


on dirait que des que les fichiers sont superieurs à 2 Go ca deconne !!!



Ça peut être un problème de version, de 32 bits...

--
Le travail est la malédiction des classes qui boivent.
O. Wilde.
Avatar
scratt
Le lundi 21 mai 2012 12:37:21 UTC+2, scratt a écrit :
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:$DES T $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



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
Avatar
Alex F.
scratt a écrit:

Juste pour comprendre :
J'ai deux repertoires A et B respectivement sur
HostA et HostB. /A et /B sont 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 parametres 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
Avatar
Paul Gaborit
À (at) Fri, 25 May 2012 09:57:09 +0000 (UTC),
"Alex F." écrivait (wrote):

scratt a écrit:

Juste pour comprendre :
J'ai deux repertoires A et B respectivement sur
HostA et HostB. /A et /B sont 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 parametres 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/



Par définition, aucun outil n'est capable de faire de la synchronisation
bi-directionnelle sans assistance.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
scratt
Le lundi 21 mai 2012 12:37:21 UTC+2, scratt a écrit :
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:$DES T $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



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.
/$
1 2