Score:0

หลังจากโฟลเดอร์ rsync มีขนาดต่างกัน

ธง es

ฉันใช้ rsync เพื่อคัดลอกโฟลเดอร์จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง โฟลเดอร์มีขนาดใหญ่มากและมีไดเร็กทอรีย่อยหลายพันไดเร็กทอรีและมีไฟล์ทั้งหมดหลายล้านไฟล์ หลังจากการถ่ายโอน (ซึ่งถูกขัดจังหวะสองสามครั้ง) ฉันตรวจสอบโฟลเดอร์ในแต่ละเครื่อง ผลลัพธ์ไม่ตรงกัน:

โฟลเดอร์ต้นทาง: 430 Gb

โฟลเดอร์เป้าหมาย: 415 Gb

ฉันลอง rsyncing อีกครั้ง แต่ไดเร็กทอรีย่อยทั้งหมดถูกข้ามไป ฉันได้ลองเพิ่ม --checksum ในคำสั่งแล้ว แต่ก็ยังข้ามทุกอย่าง ความแตกต่างของ 15Gb นี้สามารถอธิบายได้หรือไม่? ถ้าไม่มี มีวิธีค้นหาไฟล์ที่ไม่ตรงกันบ้างไหม?

อัปเดต คำสั่ง rsync ที่ฉันใช้คือ:

rsync user@source:folder เป้าหมาย
codlord avatar
ru flag
ฉันขอแนะนำให้คุณอัปเดตคำถามเดิมของคุณด้วยคำสั่ง rsync จริงที่คุณใช้
cn flag
2 มีระบบไฟล์เดียวกันหรือไม่? ขนาดบล็อกเดียวกัน? คุณคำนวณขนาดได้อย่างไร? มันรวม tmpfs หรือไม่
MrHat avatar
es flag
ฉันคำนวณขนาดด้วย du -h ฉันตรวจสอบแล้วและระบบไฟล์คือ zfs สำหรับตำแหน่งต้นทางและ nfs สำหรับตำแหน่งเป้าหมาย น่าเสียดายที่ฉันไม่พบขนาดบล็อกสำหรับอุปกรณ์บล็อกเนื่องจากอยู่ในเครือข่ายและฉันไม่สามารถเข้าถึงได้
Artur Meinild avatar
vn flag
ตามค่าเริ่มต้น `du -h` จะรายงานขนาดบล็อก ในการแสดงขนาดไฟล์จริง คุณต้องใช้ `du -h --apparent-size` ฉันค่อนข้างแน่ใจว่าขนาดที่ปรากฏจะเท่ากัน ซึ่งในกรณีนี้ ขนาดบล็อกที่แตกต่างกันเป็นสาเหตุของการใช้พื้นที่ที่แตกต่างกัน
Score:1
ธง cn

มีเหตุผลสองสามประการที่อาจมีหรืออาจเห็นความแตกต่างในขนาดที่รายงาน

  1. ขนาดที่รายงานขึ้นอยู่กับคำสั่งที่คุณใช้ และขนาดที่วัดได้โดยเฉพาะ นอกจากนี้ พื้นที่ที่ใช้โดยไฟล์อาจขึ้นอยู่กับระบบไฟล์และตัวเลือกการจัดรูปแบบที่ใช้ในการฟอร์แมตไดรฟ์ รองรับระบบไฟล์ Linux ไฟล์กระจัดกระจาย. นั่นหมายความว่า ส่วนของไฟล์ (เช่น ไบนารี) ที่ว่างเปล่าจะไม่ได้จัดเก็บไว้ในดิสก์ ดังนั้น ขนาดจริงของไฟล์บนดิสก์ (ตามที่รายงานโดย ดู่) มีขนาดเล็กกว่าขนาดไฟล์โลจิคัล (ตามที่รายงานโดย du --ขนาดที่ชัดเจน หรือ ).

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

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

เหตุผลสองประการหลังนี้จะทำให้โฟลเดอร์เป้าหมายมีขนาดใหญ่กว่าโฟลเดอร์ต้นทาง ดังนั้นนี่จะไม่ใช่คำอธิบายในกรณีปัจจุบันของคุณ

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

MrHat avatar
es flag
ขอบคุณสำหรับคำตอบโดยละเอียด ฉันจะลองใช้ตัวเลือกลบเพื่อดูว่าจะให้ผลลัพธ์เหมือนกันหรือไม่ (ควรเป็นเพราะแหล่งที่มามีขนาดใหญ่กว่า)ไม่ว่าในกรณีใดไฟล์ของฉันจะถูกใช้เพื่อให้เข้าถึงและตรวจสอบได้ทั้งหมด แต่ฉันอยากทราบว่ามีวิธีที่เร็วกว่าในการตรวจสอบว่าการถ่ายโอนทำงานได้ดีหรือไม่ ฉันจะแจ้งข้อมูลอัปเดตในอีก 2-3 วันหลังจากที่ตรวจสอบแล้วว่าไม่มีไฟล์ใดสูญหายหรือเสียหาย
vanadium avatar
cn flag
วิธีที่เร็วที่สุดคือการรายงานการดำเนินการ `rsync` เอง เพื่อความปลอดภัยขั้นสูงสุด คุณสามารถให้ 'rsync' เปรียบเทียบผ่านเช็คซัมได้ แต่นั่นจะทำให้การซิงโครไนซ์ช้าลงอย่างมาก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา