เป็นไปได้ไหมที่จะซิงค์สองไดเรกทอรี linux ในเวลาจริง


25

ฉันต้องการซิงค์ไดเรกทอรีของฮาร์ดไดรฟ์ภายในกับฮาร์ดไดรฟ์ภายนอก

เมื่อฉันเขียนหรือแก้ไขไฟล์บนฮาร์ดไดรฟ์ภายในของฉันไฟล์เดียวกันโดยอัตโนมัติจะถูกคัดลอกไปยังฮาร์ดไดรฟ์ภายนอก ... และลาก่อนการสำรองข้อมูล)

นี่จะเป็นสิ่งที่คล้ายกับ RAID ที่มีฮาร์ดไดรฟ์ภายนอก

เป็นไปได้ไหม


22
ฉันกลัวว่าการคิดว่า "ลาก่อนการสำรองข้อมูล" แทบจะไม่เหมาะสมหรือถูกต้อง
Ben Pilbrow

อย่างจริงจัง. สิ่งที่เบ็นพูด นี่ไม่ใช่การสำรองข้อมูล
Duncan X Simpson

คำตอบ:


8

ในเวลาจริงเท่าที่ผมรู้ว่ามีเพียงDRBD แต่ฉันไม่คิดว่ามันใช้กับสถานการณ์ของคุณเนื่องจากเมื่อคุณลบไฟล์คุณจะลบมันในดิสก์ภายนอกด้วย ง่ายขึ้นคุณสามารถใช้ rsync และสคริปต์ cron ที่ทำงานทุกสองสามนาที


ขอบคุณสำหรับคำตอบ. แต่ถ้า "cron" rsync ทำงานทุก ๆ .. 5 นาทีมันมีประสิทธิภาพลดลงไหม? มันไม่หนักเกินไป (ตรวจสอบทุกไฟล์ว่ามีอะไรเปลี่ยนแปลงหรือเปล่า)?
stighy

นั่นเป็นเหตุผลที่พวกเขาคิดค้นระบบไฟล์ที่มีความสามารถในภาพรวม;)
เกลือกกลั้ว

1
DRBD อาจค่อนข้างซับซ้อนในการกำหนดค่าหากคุณต้องการความช่วยเหลือในการกำหนดค่าฉันเขียนบทความที่ดี: geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot

30

lsyncdน่าจะเป็นทางออกที่สมบูรณ์แบบ มันรวมinotify (ฟังก์ชั่นเคอร์เนลในตัวแม่มดเฝ้าดูการเปลี่ยนแปลงไฟล์ในไดเรกทอรีต้นไม้) และrsync (เครื่องมือซิงค์ไฟล์ข้ามแพลตฟอร์ม)

lsyncd -rsyncssh /home remotehost.org backup-home/

อ้างอิงจาก GitHub:

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


1
ข้อเสียคือมันไม่ใช่แบบสองทิศทาง
tymik

8

คุณสามารถสร้างซอฟต์แวร์ RAID1 บนฮาร์ดไดรฟ์ภายในและภายนอกของคุณ สำหรับระบบมันไม่ได้สร้างความแตกต่างถ้ามันเป็นฮาร์ดไดรฟ์ในตัวหรือที่เก็บข้อมูลขนาดใหญ่ที่ต่อพ่วงภายนอก

แต่ RAID ไม่มีการสำรอง! จะเกิดอะไรขึ้นถ้าคุณลบไฟล์ในฮาร์ดไดรฟ์โดยไม่ตั้งใจ? นอกจากนี้ยังได้รับการลบในไดรฟ์ "สำรอง" ภายนอกของคุณ

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


4
+1 ขนาดใหญ่สำหรับ "RAID ไม่ใช่การสำรองข้อมูล" อย่างชัดเจน
nickgrim

การจู่โจมซอฟต์แวร์ด้วยสมาชิกฮาร์ดไดรฟ์ภายในและภายนอกก็อาจจะช้ามากไม่น่าเชื่อถือและถูกกำหนดให้ทำลายค่อนข้างบ่อย
David

2

incron (ตามที่แนะนำให้ฉันในเว็บไซต์นี้เมื่อต้นปีนี้)

มันยังไม่สามารถใช้แทนกระบวนการสำรองข้อมูลที่เหมาะสมได้


3
อาจจะดีกว่าที่จะแกะสลักเป็นหิน
Dee

1
@Dee กรุณาอธิบายความคิดเห็นนี้ อินแคนไม่ได้เป็นทางออกที่ดีใช่ไหม
imolit


0

git-annexสามารถใช้เพื่อให้บรรลุสิ่งนี้ได้

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

มีคำแนะนำเพื่อให้ผู้ใช้รวดเร็วขึ้นด้วย git-annex


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