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