Tôi đã đọc những chủ đề này:
- rsync --delete --files-from = list / Dest / không xóa các tệp không mong muốn
- Xóa các tập tin không liên quan từ Dest dir qua rsync?
Nhưng, theo như tôi có thể nói (có thể tôi đang thiếu thứ gì đó), họ không bao gồm câu hỏi sau:
Làm thế nào để bạn yêu cầu rsync
sao chép các tập tin và xóa những tập tin ở phía bên nhận không tồn tại ở phía gửi, ngoại trừ? (ví dụ: không xóa kho lưu trữ .hg
ở phía nhận, ngay cả khi không có kho lưu trữ ở phía gửi).
Một khả năng?
Mượn từ câu trả lời của @Richard Holloway bên dưới. Nói rằng tôi có dòng sau:
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
Theo tôi hiểu, dòng này sẽ rsync
xóa mọi thứ trên đường nhận không tồn tại trên đường gửi, ngoại trừ những thứ được khớp bởi dont_delete_me
. Câu hỏi của tôi bây giờ là: rsync có giữ các tệp ở phía bên nhận được khớp hay không dont_delete_me
ngay cả khi không có gì ở phía gửi khớp dont_delete_me
?
rsync -av --exclude=dont_delete_me --delete /sending/path /receiving/path
, sẽ khôngrsync
xóa mọi thứ trên đường nhận không tồn tại trên đường gửi, ngoại trừ những thứ khớp vớidont_delete_me
? Quan trọng nhất, sẽrsync
giữ mọi thứ ở phía bên nhận được khớp vớidont_delete_me
ngay cả khi không có gì ở phía gửi phù hợpdont_delete_me
? Nếu đó là trường hợp, tôi nghĩ đó là dòng duy nhất tôi cần, phải không?