Я прочитав ці теми:
- 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
? Якщо це так, я думаю, що це єдиний рядок, який мені потрібен, правда?