Réponses:
Il y a beaucoup plus de propriétés à rsync que ne le mentionne la réponse précédente. Vous devriez les examiner vous-même:
man rsync
Mais pour votre problème, je suggère:
rsync -a --delete X Y
De cette façon, le récepteur (Y) supprimera tout fichier dont il dispose qui n'est pas dans X. Assurez-vous cependant de bien le faire. Utilisé incorrectement car root peut facilement tuer votre système ... :)
rsync -a --delete X/ Y. Cette petite barre oblique après que X l'ait fait fonctionner comme prévu pour moi, donc cela pourrait aussi aider les autres. Expliqué ici: abbeyworkshop.com/howto/unix/nix_rsync/index.html
Jetez un œil à rsync (1) . Il est destiné à faire à peu près exactement ce que vous voulez.
rsync -av X Y
Il prend en charge la copie à distance, via son propre protocole ou ssh, mais il peut également être utilisé localement.
Selon le comportement exact que vous souhaitez, vous pouvez également passer l' --updateoption. Cela indiquera à rsync de ne pas écraser les fichiers qui existent déjà sur la cible et sont plus récents que ceux de la source.
Si vous souhaitez supprimer des fichiers supplémentaires (c'est-à-dire des fichiers qui existent en Y mais pas en X), vous pouvez ajouter l' --deleteoption.