--delete-ยกเว้นจะทำอะไรเพื่อ rsync?


32

ฉันใช้ rsync ด้วยความยินดีอย่างยิ่งสำหรับการสำรองข้อมูลเซิร์ฟเวอร์ของฉันแม้ว่าฉันจะมีคำถามเกี่ยวกับ--delete-excludedพารามิเตอร์

/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded     --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01

จากman rsync:

 --delete-excluded       also delete excluded files from dest dirs

สำหรับฉันไม่ใช่เจ้าของภาษาอังกฤษหมายความว่า rsync จะลบไดเรกทอรีที่แยกออกจากไดเรกทอรีปลายทางจริงบนเซิร์ฟเวอร์ระยะไกลดังนั้นถ้าฉันมี/home/backupและ/home/settingsในโฟลเดอร์แยกของฉันโฟลเดอร์เหล่านั้นจะถูกลบออกจากเซิร์ฟเวอร์ระยะไกลจริง ๆ

จากแหล่งข้อมูลอื่น ๆ ดูเหมือนว่ามันจะลบไฟล์ออกจากโฟลเดอร์สำรองข้อมูลในเครื่องเพื่อประหยัดพื้นที่ ตัวอย่างเช่นคุณสามารถสร้างการสำรองข้อมูลขนาดเล็กบนเซิร์ฟเวอร์และยกเว้นข้อมูลนี้ดังนั้นคุณจะไม่เสียพื้นที่เก็บข้อมูล

เป็นสิ่งสำคัญสำหรับฉันแม้ว่า rsync จะทำงานได้เพียงทางเดียวตามที่ผู้คนบอกว่าใช้งานได้จริงฉันไม่ต้องการรับความเสี่ยงใด ๆ ในการมีซอฟต์แวร์ที่ลบไฟล์ / ไดเรกทอรีบนเซิร์ฟเวอร์ระยะไกล

คำตอบ:


37

การตีความของคุณถูกต้อง หากคุณมีไฟล์หรือไดเรกทอรีที่แยกออกจากการถ่ายโอน - ลบ - ยกเว้นจะลบพวกเขาจากด้านปลายทาง (ไม่จำเป็นต้องเป็น "เซิร์ฟเวอร์ระยะไกล" คุณสามารถใช้rsyncเพื่อคัดลอกจากเซิร์ฟเวอร์ไปยังเครื่องคอมพิวเตอร์ท้องถิ่น) ถ้า มันพบพวกเขาที่นั่น ตัวอย่างเช่นหากคุณใช้--exclude=*.o --delete-excludedแล้วหาก rsync พบไฟล์ใด ๆ ที่ลงท้ายด้วย. o บนฝั่งปลายทางไฟล์นั้นจะลบออกไม่ว่าจะมีอยู่ในไดเรกทอรีต้นทางหรือไม่


1
ดังนั้นมันจะลบไดเรกทอรี / ไฟล์ออกจาก /.snapshot/hourly.0/server01 ไม่ใช่เซิร์ฟเวอร์ระยะไกลใช่หรือไม่
ujjain

3
@chronoz หากคุณกำลังคัดลอกจากเซิร์ฟเวอร์ระยะไกลไปยังเครื่องคอมพิวเตอร์ปลายทางจะเป็นเครื่องคอมพิวเตอร์ หากคุณกำลังคัดลอกจากเครื่องคอมพิวเตอร์ไปยังเซิร์ฟเวอร์ระยะไกลปลายทางคือเซิร์ฟเวอร์ระยะไกล ปลายทางคือสิ่งที่สำคัญที่นี่ หากปลายทางเป็นเซิร์ฟเวอร์ระยะไกลจะทำการลบไฟล์ออกจากเซิร์ฟเวอร์ระยะไกล
DerfK

ยืนยันที่นี่: comentum.com/rsync.html
SDsolar

1
ฉันเพิ่งค้นพบว่า "- ลบ - แยกออก" นั้นเทียบเท่ากับ "- ลบ - ลบ - ยกเว้น" อย่างสมบูรณ์ ในตัวอย่างคำตอบที่ให้ไว้ข้างต้นไฟล์ระยะไกลที่ไม่ปรากฏที่ด้านแหล่งที่มาจะถูกลบด้วย
เวย์น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.