Rsync n'a modifié que les fichiers

14

Est-il possible d'avoir rsynctransféré tous les fichiers d'un répertoire qui ont changé ou qui ont été créés? Je n'ai pas besoin de quelque chose d'aussi sophistiqué qu'une vérification de différence CRC; les fichiers avec des horodatages et / ou des tailles de fichiers différents comptent comme des modifications.

J'ai l'impression de la page de manuel que cela devrait être possible, mais j'ai besoin de quelques conseils sur quel ensemble de paramètres passer rsync.

instanceofTom
la source

Réponses:

19

Pour synchroniser simplement deux répertoires:

$ rsync /source/path/* /dest/path/

Ou si vous voulez faire un arbre entier:

$ rsync -a /source/path/ /dest/path/

"-a" spécifie le mode "archive", où il duplique l'arborescence aussi étroitement que possible.

J'aime ajouter les drapeaux vet Plà-bas pour que je puisse le regarder fonctionner:

$rsync -avP /source/path/ /dest/path/

"-v" active le mode verbeux, vous pouvez donc voir ce qu'il fait (il répertorie les fichiers au fur et à mesure qu'ils se copient) et "-P" permet de progresser, vous pouvez donc voir combien de temps il faut pour copier chaque fichier (pourcentage copié, temps restant, etc.), et vous permet de voir jusqu'où vous vous trouvez dans la copie.

Majenko
la source
3
... et peut-être ajouter l'indicateur z pour utiliser la compression pour le transfert
Linker3000
4
... si vous transférez dans un endroit éloigné
Majenko
14

C'est ainsi que rsyncfonctionne par défaut (au moins sous Linux). Depuis la page de manuel :

Rsync recherche les fichiers qui doivent être transférés à l'aide d'un algorithme de "vérification rapide" (par défaut) qui recherche les fichiers dont la taille ou la dernière modification ont changé. Toute modification des autres attributs préservés (comme demandé par les options) est effectuée directement sur le fichier de destination lorsque la vérification rapide indique que les données du fichier n'ont pas besoin d'être mises à jour.

Rob H
la source
Ah, je m'étais confondu en mal lisant la documentation. Merci :)
instanceofTom