Я прочитал эти темы:
- rsync --delete --files-from = list / dest / не удаляет ненужные файлы
- Удалить посторонние файлы из Dest Dir через Rsync?
Но, насколько я могу судить (возможно, я что-то упустил), они не охватывают следующий вопрос:
Как попросить rsyncскопировать файлы и удалить те, что находятся на принимающей стороне, которых нет на отправляющей стороне, за исключением? (например, не удаляйте ртутный репозиторий .hgна принимающей стороне, даже если на передающей стороне нет репозитория).
Одна возможность?
Заимствование из ответа @Richard Holloway ниже. Скажем, у меня есть следующая строка:
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
Насколько я понимаю, эта строка заставит rsyncудалить все на пути получения, который не существует на пути отправки, кроме тех, которые соответствуют dont_delete_me. Мой вопрос теперь таков: будет ли rsync сохранять файлы на принимающей стороне, с которыми сопоставляются, dont_delete_me даже если на отправляющей стороне ничего не совпадает dont_delete_me?
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/pathне приведет ли это кrsyncудалению всего на пути получения, который не существует на пути отправки, кроме тех, которые совпадают сdont_delete_me? Самое главное, будут лиrsyncсовпадать вещи на принимающей стороне,dont_delete_meдаже если на отправляющей стороне ничего не будет совпадатьdont_delete_me? Если это так, я думаю, что это единственная линия, которая мне нужна, верно?