ซิงค์ไดเรกทอรีท้องถิ่นและระยะไกลโดยใช้ rsync?


1

ฉันมีกล่อง linux สองกล่องที่ฉันต้องการซิงค์ ฉันเห็นตัวเลือก -avz ซิงค์รีโมทกับโลคัล แต่ไฟล์โลคัลใหม่ไม่ถูกส่ง ฉันจะทำสิ่งนี้ได้อย่างไร

linux  rsync 

คำตอบ:


1

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

  • ซึ่งแตกต่างจากการมิรเรอร์หรือยูทิลิตีการสำรองข้อมูลแบบง่าย Unison สามารถจัดการกับการอัพเดตทั้งแบบจำลองของโครงสร้างไดเรกทอรีแบบกระจาย การปรับปรุงที่ไม่ขัดแย้งจะแพร่กระจายโดยอัตโนมัติ ตรวจพบและแสดงการอัพเดทที่ขัดแย้งกัน
  • พร้อมเพรียงทำงานระหว่างเครื่องคู่ใด ๆ ที่เชื่อมต่อกับอินเทอร์เน็ตการสื่อสารผ่านการเชื่อมต่อซ็อกเก็ตโดยตรงหรือการขุดอุโมงค์ผ่านการเชื่อมต่อ ssh ที่เข้ารหัส ระวังกับแบนด์วิดท์ของเครือข่ายและทำงานได้ดีบนลิงก์ช้าเช่นการเชื่อมต่อ PPP การถ่ายโอนการอัพเดตขนาดเล็กไปยังไฟล์ขนาดใหญ่นั้นได้รับการปรับให้เหมาะสมโดยใช้โปรโตคอลการบีบอัดที่คล้ายกับ rsync
  • พร้อมเพรียงมีความยืดหยุ่นต่อความล้มเหลว ควรระมัดระวังที่จะออกจากแบบจำลองและโครงสร้างส่วนตัวของตัวเองในสถานะที่เหมาะสมตลอดเวลาแม้ในกรณีที่การเลิกจ้างผิดปกติหรือการสื่อสารล้มเหลว
  • พร้อมเพรียงเป็นอิสระ; ซอร์สโค้ดแบบเต็มมีอยู่ภายใต้สัญญาอนุญาตสาธารณะของกนู

0

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

ดูสิ่งนี้ด้วย: Rsync ซิงค์สองทางและซิงค์การลบไฟล์


1
การรันทั้งสองทิศทางจะไม่ทำงานโดยทั่วไปเพราะหลังจากคุณซิงค์คอมพิวเตอร์ 2 กับคอมพิวเตอร์ 1 การเปลี่ยนแปลงใด ๆ ที่ทำบนคอมพิวเตอร์ 2 จะสูญหาย
David Z

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