การซิงค์ / สำรองข้อมูลทางเดียวด้วย Unison


13

ฉันใช้เครื่องมือซิงค์พร้อมเพรียงกับเครื่อง Mac OSX และ Ubuntu 9.10 เพื่อสำรองข้อมูลเพลงจาก Mac ไปยัง Ubuntu ฉันต้องการให้ Mac เป็นแหล่งที่มาและ Ubuntu เป็นเป้าหมายเพื่อให้เครื่องอูบุนตูจะเป็นสำเนาที่แน่นอนของโฟลเดอร์เพลงบน Mac ตลอดเวลา แต่ถ้าฉันลบบางสิ่งจากอูบุนตูมันจะชนะ ' ไม่ถูกลบบน Mac ฉันดูเอกสารแล้ว แต่ตอนนี้ฉันกำลังคิดมากอยู่แล้ว

คำตอบ:


1

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

บรรทัดคำสั่งเช่นนี้อาจมีประโยชน์ (สมมติว่าคุณเรียกใช้จาก Ubuntu):

rsync -a --delete-before myMacMachineName:/MyMusic/ /mymusic/

มันค่อนข้างง่ายที่จะสลับบรรทัดด้านบนหากคุณต้องการเรียกใช้จาก Mac ของคุณและกดไปที่คอมพิวเตอร์ Ubuntu แทนที่จะดึง


33

การใช้unison -force:

คู่มือ:

การรวมค่ากำหนด -force rootทำให้เกิดพร้อมเพรียงเพื่อแก้ไขความแตกต่างทั้งหมด (แม้แต่การเปลี่ยนแปลงที่ไม่ขัดแย้ง) เพื่อสนับสนุนรูต สิ่งนี้จะเปลี่ยน Unison จาก synchronizer เป็นยูทิลิตี้การทำมิเรอร์ได้อย่างมีประสิทธิภาพ คุณยังสามารถระบุ-force newer(หรือ -force older) เพื่อบังคับให้พร้อมเพรียงเพื่อเลือกไฟล์ที่มี modtime ในภายหลัง (ก่อนหน้านี้) ในกรณีนี้การ -timesตั้งค่าจะต้องเปิดใช้งาน การตั้งค่านี้ถูกแทนที่โดยการforcepartialตั้งค่า การตั้งค่านี้ควรใช้เฉพาะเมื่อคุณแน่ใจว่าคุณรู้ว่าคุณกำลังทำอะไร!

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

cd /target/mirror/directory
unison -socket 123456 &

ที่อื่นหรือบนโฮสต์เดียวกัน:

unison -silent -force /home/test/thing2 /home/test/thing2 socket://somehost:123456/

2
ไวยากรณ์สำหรับไฟล์โปรไฟล์คือการระบุพา ธ ไปยังไดเร็กทอรี root สำหรับตัวแปร force คือforce = /home/me/mysynchdir
แดเนียล

2

ในขณะที่คำตอบของ TheToasterThatCat นั้นจะ 'ทำงาน' โปรดทราบว่ามันจะสำรองข้อมูลระบบไฟล์ Mac อย่างไม่ถูกต้อง"Resource Forks"

ในขณะที่ rsync เวอร์ชัน Mac OSX นั้นเป็นตัวรับรู้ทรัพยากรแต่ทว่า linux ของ rsync นั้นไม่ได้ (และน่าจะเป็นไปไม่ได้เพราะ rsync เวอร์ชั่นของ Apple นั้นเป็นแบบเฉพาะของ OSX และไม่ได้แสดงทรัพยากรเหล่านั้นให้ rsync ที่ปลายอีกด้านหนึ่ง วิธีที่ rsync เวอร์ชันที่ไม่ใช่ OSX สามารถจัดการได้) ผลลัพธ์ของสิ่งนี้คือส้อมทรัพยากรจะไม่ถูก rsync ระหว่างเครื่อง Mac และ linux

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

ถ้าคุณต้องการซิงค์ส้อมของทรัพยากรการรวมกันจะเป็นวิธีที่ดีกว่าเพราะ (ตามเอกสารพร้อมเพรียง) มันสามารถซิงค์ส้อมทรัพยากรได้


0

FreeFileSyncเป็นแอปพลิเคชั่นโอเพนซอร์ซที่มีความสามารถในการทำมิเรอร์ไดเรกทอรี สามารถเรียกใช้การซิงโครไนซ์ทางเดียวหรือสองทางหรือในโหมด "สนับสนุน" ฉันสามารถพูดได้ว่ามันสามารถทำงานได้กับ Synctoy ของ Microsoft FreeFileSync สามารถใช้ได้อย่างอิสระใน Mac OS X, Linux และ Windows


-1

ปัจจุบันunison /home/test/thing2 /home/test/thing2 socket://somehost:123456/ -silent -batchจะใช้งานได้ซึ่ง-batchไม่มีข้อสงสัยใด ๆ เลย

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