โดยปกติแล้วrsyncข้ามไฟล์เมื่อไฟล์มีขนาดและเวลาเท่ากันในด้านต้นทางและปลายทาง นี่คือฮิวริสติกซึ่งโดยปกติแล้วจะเป็นความคิดที่ดีเพราะจะช่วยป้องกันไม่rsyncให้ตรวจสอบเนื้อหาของไฟล์ที่มีความเหมือนกันมากในด้านต้นทางและปลายทาง
--ignore-timesบอกrsyncให้ปิดฮิวริสติกของไฟล์และขนาดดังนั้นจึงโอนไฟล์ทั้งหมดจากแหล่งหนึ่งไปยังปลายทางโดยไม่มีเงื่อนไข rsyncจะดำเนินการอ่านไฟล์ทุกไฟล์ที่ด้านแหล่งที่มาเนื่องจากจะต้องใช้อัลกอริทึมการถ่ายโอนเดลต้าหรือเพียงส่งไฟล์ทุกไฟล์อย่างครบถ้วนทั้งนี้ขึ้นอยู่กับ--whole-fileตัวเลือกที่ระบุ
--checksumนอกจากนี้ยังปรับเปลี่ยนการแก้ปัญหาของไฟล์ครั้งและขนาด แต่ที่นี่มันไม่สนใจเวลาและตรวจสอบขนาดเท่านั้น ไฟล์บนด้านต้นทางและปลายทางที่มีขนาดต่างกันจะถูกถ่ายโอนเนื่องจากไฟล์เหล่านั้นแตกต่างกันอย่างเห็นได้ชัด ไฟล์ที่มีขนาดเท่ากันจะถูกตรวจสอบ (ด้วย MD5 ในrsyncเวอร์ชัน 3.0.0+ หรือกับ MD4 ในเวอร์ชันก่อนหน้า) และไฟล์ที่พบว่ามีผลรวมต่างกันจะถูกถ่ายโอนเช่นกัน
ในกรณีที่ด้านข้างต้นทางและปลายทางส่วนใหญ่เหมือนกัน--checksumจะทำให้ไฟล์ส่วนใหญ่ถูกตรวจสอบทั้งสองด้าน สิ่งนี้อาจใช้เวลานาน แต่ผลที่สุดคือการถ่ายโอนข้อมูลขั้นต่ำที่น้อยที่สุดจริง ๆ โดยเฉพาะอย่างยิ่งหากใช้อัลกอริทึมการถ่ายโอนเดลต้า แน่นอนว่านี่เป็นเพียงการชนะถ้าคุณมีเครือข่ายที่ช้ามากและ / หรือ CPU ที่เร็วมาก
--ignore-timesในทางกลับกันจะส่งข้อมูลผ่านเครือข่ายมากขึ้นและจะทำให้ไฟล์ต้นฉบับทั้งหมดถูกอ่าน แต่อย่างน้อยมันก็ไม่ได้กำหนดภาระเพิ่มเติมในการคำนวณแฮชซัมที่มีการเข้ารหัสลับจำนวนมากบนซีพียูต้นทางและปลายทาง ฉันคาดหวังว่าตัวเลือกนี้จะทำงานได้ดีกว่า--checksumเมื่อเครือข่ายของคุณเร็วและ / หรือ CPU ของคุณค่อนข้างช้า
ฉันคิดว่าฉันจะใช้--checksumหรือ--ignore-timesเคยถ่ายโอนไฟล์ไปยังปลายทางที่สงสัยว่าเนื้อหาของไฟล์บางไฟล์เสียหาย แต่เวลาในการดัดแปลงไม่เปลี่ยนแปลง ฉันไม่สามารถนึกถึงเหตุผลที่ดีอื่นใดที่จะใช้ตัวเลือกอย่างใดอย่างหนึ่งถึงแม้ว่าอาจมีกรณีการใช้งานอื่น ๆ
--checksumมีประโยชน์พร้อมกับ--itemize-changesการยืนยันการสำรองข้อมูล สคริปต์สำรองข้อมูลของฉันทำงานเป็นระยะ ๆ เปรียบเทียบกับวิธีนี้หลังจากการอัพเดตรายวัน / รายสัปดาห์ปัจจุบันเสร็จสมบูรณ์ ฉันได้รับอีเมลที่ทำเครื่องหมายว่าเร่งด่วนหากมี--itemize-changesสิ่งใดที่คาดไม่ถึงดังนั้นฉันรู้ว่ามีปัญหาที่อาจเกิดขึ้นฉันควรตรวจสอบ