ฉันได้อ่านหัวข้อเหล่านี้:
- rsync --delete --files-from = list / dest / ไม่ลบไฟล์ที่ไม่ต้องการ
- ลบไฟล์ที่ไม่เกี่ยวข้องจาก dest dir ผ่าน rsync หรือไม่
แต่เท่าที่ฉันสามารถบอกได้ (บางทีฉันอาจพลาดบางสิ่ง) พวกเขาไม่ได้ครอบคลุมคำถามต่อไปนี้:
คุณrsync
จะขอให้คัดลอกไฟล์และลบไฟล์ในด้านการรับที่ไม่มีอยู่ในด้านการส่งโดยมีข้อยกเว้นได้อย่างไร? (เช่นอย่าลบที่เก็บ Mercurial .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
? หากเป็นกรณีนี้ฉันคิดว่าเป็นสิ่งเดียวที่ฉันต้องการใช่ไหม