J'ai lu ces fils:
- rsync --delete --files-from = list / dest / ne supprime pas les fichiers indésirables
- Supprimer les fichiers superflus du répertoire dest via rsync?
Mais, pour autant que je sache (peut-être que je manque quelque chose), ils ne couvrent pas la question suivante:
Comment demandez-vous rsync
de copier des fichiers et de supprimer ceux du côté réception qui n'existent pas du côté de l'envoi, à quelques exceptions près? (par exemple, ne supprimez pas un référentiel mercurial .hg
côté réception, même s'il n'y a pas de référentiel côté envoi).
Une possibilité?
Emprunt de la réponse de @Richard Holloway ci-dessous. Disons que j'ai la ligne suivante:
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
Pour autant que je comprends, cette ligne ferait rsync
supprimer tout sur le chemin de réception qui n'existe pas sur le chemin d'envoi, à l'exception de ce qui correspond dont_delete_me
. Ma question est maintenant: est-ce que rsync conserverait les fichiers du côté de réception qui correspondent dont_delete_me
même si rien du côté d'envoi ne correspond dont_delete_me
?
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
cela ne ferait-il pasrsync
supprimer tout sur le chemin de réception qui n'existe pas sur le chemin d'envoi, à l'exception des choses correspondant àdont_delete_me
? Plus important encore, est-cersync
que les choses resteraient égales du côté de la réceptiondont_delete_me
même si rien du côté de l'envoi ne corresponddont_delete_me
? Si c'est le cas, je pense que c'est la seule ligne dont j'ai besoin, non?