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