การสำรองข้อมูล rsync รายวันที่มีการเชื่อมโยงอย่างหนัก checksums และคอมพิวเตอร์เครื่องใหม่


2

ฉันสำรองแล็ปท็อปของฉันไปยังเดสก์ท็อป Fedora ทุกวันโดยใช้ rsync ด้วยฮาร์ดลิงก์ สิ่งนี้ใช้งานได้ดีเกือบปี

ฉันเพิ่งซื้อคอมพิวเตอร์เครื่องใหม่ถ่ายโอนข้อมูลของฉันและต้องการสำรองข้อมูลคอมพิวเตอร์นี้ทุกวัน

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

ฉันคิดว่าการเพิ่ม -c (checksum) ไปที่การสำรองข้อมูล rsync ของฉันจะเป็นการจับคู่ไฟล์โดยใช้ checksum แทนการประทับเวลาและขนาดและโอนเฉพาะไฟล์ที่แตกต่างหรือไม่มีอยู่ สิ่งนี้ดูเหมือนว่าจะใช้งานได้ แต่เมื่อตรวจสอบการสำรองข้อมูลใหม่จะไม่มีการสร้างฮาร์ดลิงก์และปรากฏไฟล์ที่ควรเชื่อมโยงอย่างหนักเพียงคัดลอกไปยังไดเรกทอรีสำรองใหม่จากไดเรกทอรีสำรองก่อนหน้าบนเซิร์ฟเวอร์สำรอง นี่เป็นพฤติกรรมที่แปลกมากสำหรับฉันและฉันมีปัญหาในการหาสาเหตุที่เกิดขึ้น Checksums ตรงกับไฟล์ที่ฉันคิดว่าควรจะเชื่อมโยงอย่างหนัก

ฉันได้ดูหน้า rsync man และ Google ต้องการประมาณเล็กน้อยและไม่สามารถหาอะไรให้ฉันเพื่อทำความเข้าใจพฤติกรรมนี้ได้ดีขึ้น

คำตอบ:


1

ฉันคิดว่าคุณเข้าใจผิดทั้งตัวเลือกการตรวจสอบและตัวเชื่อมโยงอย่างหนัก

--checksumตัวเลือกที่อธิบายไว้ในหน้าคนเป็น "ข้ามขึ้นอยู่กับการตรวจสอบไม่ mod เวลาและขนาด" ก็หมายความว่าเวลาพอควรและขนาดจะถูกละเลยโดยทั่วไป แต่ก็ไม่ได้หมายความว่าไฟล์ทั้งหมดจะถูกอ่านทั้งสองด้าน (เพราะมันมีการอ่านไฟล์เพื่อคำนวณ checksums

สิ่งสำคัญคือการตระหนักว่า rsync ทำเช่นนี้หากเวลาและขนาดแตกต่างกัน ดังนั้นการ--checksumทำงานมากขึ้น (อ่านไฟล์ทุกไฟล์) มากกว่าที่ไม่มี ก็ไม่มีการตรวจสอบจะทำเฉพาะในกรณีที่เวลาหรือขนาดที่แตกต่างกัน ดังที่ได้กล่าวมาแล้วสิ่งนี้มีผลเฉพาะไฟล์ที่จะข้าม

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

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

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

ฉันรู้ว่าคุณบอกว่าคุณอ่าน man page แต่ฉันขอแนะนำให้คุณดูอีกครั้งโดยเฉพาะคำอธิบายโดยละเอียดของตัวเลือก--checksumและ--hard-linksตัวเลือก คุณควรอ่านเกี่ยวกับ--in-placeตัวเลือกด้วยเช่นกันเพราะอาจมีผลเสียหากคุณพยายามที่จะรักษาลิงก์ที่ยากไว้


ขอบคุณสำหรับการตอบสนองอย่างละเอียด; มันช่วยให้ฉันเข้าใจบางสิ่งได้ดีขึ้น เพื่อให้ง่ายฉันคิดว่าฉันจะสร้างไดเรกทอรีสำรองแยกต่างหากสำหรับแล็ปท็อปนี้และทำการสำรองข้อมูลต่างกันทุกวันโดยใช้ฮาร์ดลิงก์ หากใครสนใจนี่คือสคริปต์สำรองที่ฉันใช้: pastebin.com/BTPwcPqfส่วนใหญ่ของสคริปต์นั้นมาจากที่นี่: blog.interlinked.org/tutorials/rsync_time_machine.html
user75058

0

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

--link-dest จะเชื่อมโยงการสำรองข้อมูลใหม่ของคุณกับชุดข้อมูลที่เก่ากว่าอย่างหนักซึ่งจะช่วยลดการใช้ดิสก์

แต่ ... แต่ถ้า timestamps ของไฟล์ต้นฉบับนั้นแตกต่างจากการสำรองข้อมูลแบบเก่าฮาร์ดลิ้งค์จะเป็นไปไม่ได้ (ฮาร์ดลิ้งค์สองอันไม่สามารถมีไทม์แทม, เจ้าของหรือการอนุญาตที่แตกต่างกันได้

การแก้ไขคือใช้ fdupes -r1L / folder1 / folder2 มันจะแทนที่ไฟล์ folder2 ด้วยฮาร์ดลิงก์ซึ่งมีเงื่อนไขเดียวที่เนื้อหาเหมือนกัน

BTW ดูเชลล์สคริปต์ของฉันเพื่อทำสำเนาสำรองสแน็ปช็อตของระบบไฟล์ทั้งหมดของคุณโดยใช้ rsync พร้อมฮาร์ดลิงก์ระหว่างการสำรองข้อมูล (การลบข้อมูลซ้ำซ้อน) เพื่อให้การสำรองข้อมูลเต็มรูปแบบโดยใช้พื้นที่ดิสก์เพียงไม่กี่ราวกับว่า มันมาพร้อมกับการตั้งค่าการปรับแต่งเช่นลายเซ็นความสมบูรณ์ของ MD5 การป้องกัน 'chattr' กฎตัวกรองโควต้าดิสก์นโยบายการเก็บข้อมูลที่มีการแจกแจงแบบเอ็กซ์โปเนนเชียล (การหมุนเวียนการสำรองข้อมูล มันสามารถใช้ได้อย่างอิสระ: http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/

ไชโย Francois Scheurer

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