Posté par jben .
En réponse au message rsync et mode bloc.
Évalué à 3.
Dernière modification le 25 septembre 2013 à 17:58.
Juste une astuce, je ne sais pas si elle s'applique à ton problème.
Tu parles de déplacement de fichiers, et dans ce cas rsync refait un transfert du fichier, il n'a pas vu que c'est le même.
Par exemple, un répertoire nommé dossier/, synchronisé sur serveur:dossier/.
Initialement on fait
rsync -a dossier/ serveur:dossier/
Puis un jour on veut faire un déplacement de fichier, on fait :
mv dossier/fichierA dossier/fichierB
rsync -a dossier/ serveur:dossier/
Et là c'est le drame. Il retransfère le fichierB.
L'astuce c'est d'utiliser l'équivalence entre mv a b et ln a b; rm a, mais on va rajouter un rsync entre les deux.
cp -al dossier/fichierA dossier/fichierB
rsync -a dossier/ serveur:dossier/
rm dossier/fichierA
rsync -a --delete dossier/ serveur:dossier/
J'utilise cp -al et non ln, car ça permet de conserver les permissions et de faire le machin recursivement pour un répertoire si c'est un répertoire qui est bougé.
Et comme ça, ça passe très bien, il detecte que fichierA et fichierB sont des hard link, il crée fichierB comme un hard link sur fichierA dans la destination, et à l'étape suivante il supprime fichierA.
Alors je ne sais pas si c'est de ce type de déplacement dont tu parles, mais c'est une astuce à connaître quand on utilise rsync.
# Astuce
Posté par jben . En réponse au message rsync et mode bloc. Évalué à 3. Dernière modification le 25 septembre 2013 à 17:58.
Juste une astuce, je ne sais pas si elle s'applique à ton problème.
Tu parles de déplacement de fichiers, et dans ce cas
rsyncrefait un transfert du fichier, il n'a pas vu que c'est le même.Par exemple, un répertoire nommé
dossier/, synchronisé surserveur:dossier/.Initialement on fait
Puis un jour on veut faire un déplacement de fichier, on fait :
Et là c'est le drame. Il retransfère le
fichierB.L'astuce c'est d'utiliser l'équivalence entre
mv a betln a b; rm a, mais on va rajouter unrsyncentre les deux.J'utilise
cp -alet nonln, car ça permet de conserver les permissions et de faire le machin recursivement pour un répertoire si c'est un répertoire qui est bougé.Et comme ça, ça passe très bien, il detecte que
fichierAetfichierBsont des hard link, il créefichierBcomme un hard link surfichierAdans la destination, et à l'étape suivante il supprimefichierA.Alors je ne sais pas si c'est de ce type de déplacement dont tu parles, mais c'est une astuce à connaître quand on utilise
rsync.