ไหนดีที่สุดสำหรับการสำรองข้อมูล rsync vs rdiff vs rsnapshot


11

ฉันกำลังใช้ rsync สำหรับการสำรองข้อมูลจาก FTP ระยะไกลไปยังเครื่องคอมพิวเตอร์

ฉันอ่านบนอินเทอร์เน็ตว่า rsnapshot ดีกว่า

แค่อยากรู้ว่าสิ่งใดที่ใช้ในสภาพแวดล้อมการผลิต

คำตอบ:


18

rsnapshot ใช้ rsync และcp -alเก็บอาร์ไคฟ์ที่เก็บไว้ในอดีตด้วยหน่วยเก็บข้อมูลที่น้อยที่สุด ในระยะสั้น:

  • มีสำเนา 'ล่าสุด' มาเรียกมันว่า back-0
  • สำเนาก่อนหน้านี้เรียกว่า back-1, back-2 ....

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

กระบวนการนี้ง่ายสมมติว่าขณะนี้มี 4 สำเนาสำรอง -0 ถึงย้อนกลับ -3 เมื่อ rsnapshot ถูกเรียกใช้มัน:

  • ลบสำเนาที่เก่าที่สุด: back-3 ( rm -r back-3)
  • เปลี่ยนชื่อ back-2 เป็น back-3 ( mv back-2 back-3)
  • เปลี่ยนชื่อ back-1 เป็น back-2 ( mv back-1 back-2)
  • สร้าง 'ลิงก์มิเรอร์' จาก back-0 ถึง back-1 ( cp -al back-0 back-1) สิ่งนี้จะสร้างไดเรกทอรี back-1 แต่แทนที่จะคัดลอกแต่ละไฟล์จาก back-0 ถึง back-1 มันจะสร้าง hardlink; ผลอ้างอิงที่สองไปยังไฟล์เดียวกัน ชื่อที่สองนี้ถูกต้องเช่นเดียวกับชื่อแรกและข้อมูลของไฟล์จะไม่ถูกลบออกจากดิสก์จนกว่าชื่อทั้งสองจะถูกลบ
  • ดำเนินการ rsync จากที่เก็บข้อมูลดั้งเดิมเป็น back-0 เนื่องจากการสำรองข้อมูลก่อนหน้านี้ยังคงอยู่ที่ back-0 rsync นี้จึงเร็วมาก (แม้จะอยู่บนลิงก์ระยะไกลเนื่องจากมันเป็นการถ่ายโอนการเปลี่ยนแปลงเท่านั้น) ไฟล์ที่มีการเปลี่ยนแปลงนับตั้งแต่การสำรองข้อมูลก่อนหน้านี้ถูกแทนที่ด้วย back-0 แต่ไม่ใช่ใน back-1 ซึ่งเป็นการทำลายลิงค์ระหว่างพวกเขาดังนั้นตอนนี้คุณเก็บทั้งสองเวอร์ชันไว้ ไฟล์ที่ไม่เปลี่ยนแปลงจะยังคงใช้งานร่วมกันระหว่างทั้งสองไดเรกทอรีและไม่ต้องการพื้นที่เก็บข้อมูลเพิ่มเติมเพื่อให้สำเนาก่อนหน้าสอดคล้องกัน

เมื่อคุณคุ้นเคยกับขั้นตอนดังกล่าวแล้วคุณจะพบว่ามีประโยชน์มาก มันไม่ซับซ้อนเลยบางครั้งฉันทำด้วยตนเองเพื่อให้ 'รุ่นก่อนหน้า' เป็นระยะ ๆ ที่น่าสนใจ (ก่อนการอัพเกรดที่สำคัญหลังจากติดตั้งและตั้งค่าระบบ ฯลฯ )


2

คำตอบที่ล่าช้าในคำถามที่พบบ่อยนี้: rsync เป็นเครื่องมือคัดลอก / ซิงค์ซึ่งมีประสิทธิภาพมากสำหรับการสำรองข้อมูลระยะไกล rsnapshot และ rdiff ทำมากกว่าการสำรองข้อมูลเดียว: พวกเขาเก็บประวัติของการสำรองข้อมูล AFAIK, rdiff ทำโดยการรักษาส่วนต่างของไฟล์ระหว่างการสำรองข้อมูลแต่ละครั้ง (การสำรองข้อมูลต่างกัน) ดังนั้นจึงไม่สามารถเข้าถึงที่เก็บถาวรตามที่เป็นอยู่ OTOH rsnapshot ใช้ hardlinks สำหรับไฟล์ที่เหมือนกันซึ่งเป็นสำเนาที่สมบูรณ์ของทุกไฟล์ที่เปลี่ยนแปลงดังนั้นไฟล์เก็บถาวรเป็นไดเร็กทอรีธรรมดาที่ผู้ใช้ / ผู้ดูแลระบบสามารถค้นหาได้ ดังนั้นจึงมีหลายกรณีที่แต่ละตัวทำงานได้ดีที่สุด


0

เราใช้ rsync เพื่อทำซ้ำข้อมูลทั่ว WAN จากเซิร์ฟเวอร์สำรองหลักของเราไปยังเซิร์ฟเวอร์สำรองข้อมูลไซต์ที่อบอุ่นของเรา มันทำงานได้ดีมากสำหรับจุดประสงค์นั้น เท่าที่ rsnapshot ฉันไม่คุ้นเคยกับข้อดีที่จะใช้ในการแก้ปัญหานั้น

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