Je travaille sur un rsync
script pour la réplication d'annuaire. Je ne synchronise que des fichiers ou des répertoires nouveaux et modifiés, mais je n'aime pas le fait que sa copie ait renommé des fichiers ou des répertoires en tant que nouveau fichier ou répertoire, gardant les fichiers non synchronisés. J'ai également défini une limite de bande passante de 1 Mo, car cela fonctionnera pendant les heures de travail. Voici mon script:
rsync -zvru --bwlimit=1024 /mymounts/test1/ /mymounts/test2
Comment synchroniser les fichiers et les répertoires si quelqu'un renomme quelque chose, tout en ne copiant que les fichiers nouveaux ou modifiés? Voici les fichiers en question
ls "/mymounts/test1/some stuff"
new directory newfile1.txt newfile3.txt renamedFile.txt
ls "/mymounts/test2/some stuff"
new directory newfile1.txt newfile2.txt newfile3.txt renamedFile.txt
Ou y aurait-il un moyen de déplacer même les fichiers renommés vers un autre répertoire, dites
/mymounts/VerControl
:?
rsync
référez fait également référence à cet excellent article de base , FWIW. everythinglinux.org/rsyncVous voudrez peut-être regarder l'
-y | --fuzzy
option rsync. En dehors de cela, rsync n'a aucun moyen de suivre les renommages, vous finirez par transférer le fichier renommé.Depuis la page de manuel rsync:
la source
--fuzzy
, vous devriez envisager de le coupler avec--delete-delay
, car "rsync par défaut fait un--delete-before
, supprimant ainsi le fichier de base avant de pouvoir le copier / déplacer" . Source: Sonia HamiltonTu ne peux pas.
Rsync a trois modes,
Cependant, ces trois modes ont deux sous-catégories,
Rsync ne suit pas quels fichiers sont renommés, il n'a aucun état. Pensez plutôt à copier tous les fichiers et à exclure ceux dont vous ne voulez pas . Vous ne pouvez pas avoir de liste blanche mobile, vous pouvez avoir une liste noire.
la source
date +%Y%m%d%k%M%S
toute façon je peux obtenir le suffixe =date +%Y%m%d%k%M%S
.ORIGINALSUFFIX?Pour autant que je sache,Voir la réponse d' artyom .rsync
ne peut pas reconnaître le changement de nom des fichiers. Les nouveaux fichiers devront être transférés à nouveau.Pour supprimer les fichiers disparus, assurez-vous d'utiliser l'
--delete
option.De plus, pour la mise en miroir, je vous recommande d'utiliser
-a
( archive ), qui alias de belles options.Jetez un œil aux
man 1 rsync
détails.la source