ฉันใช้ rsync เพื่อสำรองพื้นที่เก็บข้อมูลที่มีไฟล์ gz จำนวนมากรวมถึงไฟล์ใหม่จำนวนมากในแต่ละวัน การสำรองข้อมูล rsync จะดำเนินการช้ากว่าที่ควรจะเป็นเพราะไฟล์ gz เหล่านี้ไม่ได้สร้างขึ้นด้วยตัวเลือก --rsyncable ของ gzip (ซึ่งทำให้ไฟล์ gz นั้นเป็นมิตรต่อ rsync มากขึ้นโดยไม่เพิ่มขนาดหรือส่งผลต่อความเข้ากันได้) และฉันไม่สามารถแก้ไขปัญหาได้ในขณะที่สร้างเพราะไฟล์ถูกสร้างโดยสคริปต์ python (rdiff-backup) ซึ่งใช้โมดูล gzip ของ python และสิ่งนี้ไม่สนับสนุนเทียบเท่ากับ gzip's --rsyncable
ดังนั้นก่อนที่จะรัน rsync ฉันสามารถระบุไฟล์ gz ใหม่ใด ๆ ในแหล่งข้อมูล (เช่นใหม่นับตั้งแต่มีการเรียกใช้ rsync ครั้งล่าสุด) ตอนนี้ฉันต้องการ 're-gzip' ไฟล์เหล่านี้เพื่อให้พวกเขา gzipped ในรูปแบบ rsyncable จากนั้นฉันสามารถเรียกใช้ rsync จากแหล่งที่ได้รับการปรับปรุง
ฉันคิดว่านี่หมายถึงการเรียกใช้แต่ละไฟล์ผ่าน gunzip และ gzip --rsyncable แต่ฉันไม่แน่ใจว่าจะทำเช่นนี้ได้อย่างไรในลักษณะที่จะไม่เสี่ยงต่อการสูญเสียข้อมูลหรือข้อมูลเมตา คำแนะนำที่ได้รับสุดซึ้ง
--rsyncable
พวกเขาอีกครั้งกับ
-a
ธง นอกจากนี้เวอร์ชัน gzip ของฉันไม่มีการ--rsyncable
ตั้งค่าสถานะ แต่มาพร้อมกับโปรแกรมที่เรียกznew
ว่าอาจใช้กับสิ่งที่คุณต้องการ
--rsyncable
จะไม่ช่วยอะไร ผมก็หวังว่าสำหรับบรรทัดของรหัสหรือสคริปต์สั้นที่ปลอดภัยจะแกะเก็บ GZ --rsyncable
และหีบห่อโดยใช้ แต่มันเป็นเพียงคำถามเชิงวิชาการสำหรับฉันตอนนี้
--rsyncable
ควรสำคัญคือถ้าไฟล์ถูกเปลี่ยนระหว่างการรันและrsync
พยายามส่งการเปลี่ยนแปลง ไฟล์ใหม่ไม่สนใจว่ามันสามารถซิงค์ได้หรือไม่เพราะrsync
จะต้องส่งข้อมูลทั้งหมดต่อไป มีการเปลี่ยนแปลงไฟล์ระหว่าง rsync หรือไม่?