Rsync เฉพาะไฟล์ที่เปลี่ยนแปลง


14

เป็นไปได้หรือไม่ที่จะrsyncถ่ายโอนไฟล์ทั้งหมดในไดเรกทอรีที่มีการเปลี่ยนแปลงหรือถูกสร้างขึ้น? ฉันไม่ต้องการสิ่งที่ซับซ้อนเหมือนการตรวจสอบ CRC diff; ไฟล์ที่มีการประทับเวลาที่แตกต่างกันและ / หรือขนาดไฟล์นับเป็นการเปลี่ยนแปลง

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

คำตอบ:


19

หากต้องการซิงค์สองไดเรกทอรี:

$ rsync /source/path/* /dest/path/

หรือถ้าคุณต้องการทำต้นไม้ทั้งหมด:

$ rsync -a /source/path/ /dest/path/

"-a" ระบุโหมด "เก็บถาวร" ซึ่งจะทำซ้ำแผนผังให้ใกล้เคียงที่สุด

ฉันชอบที่จะเพิ่มธงvและPในนั้นฉันสามารถดูการทำงาน:

$rsync -avP /source/path/ /dest/path/

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


3
... และอาจเพิ่มธง z เพื่อใช้การบีบอัดสำหรับการโอน
Linker3000

4
... หากคุณกำลังถ่ายโอนไปยังสถานที่ห่างไกล
Majenko

14

นี่คือวิธีการrsyncทำงานตามค่าเริ่มต้น (อย่างน้อยบน Linux) จากหน้าคน :

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


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