SSHFS มีความสะดวก แต่มันไม่สอดคล้องกับ rsync หรือมากกว่าโดยทั่วไปด้วยเครื่องมือการซิงโครไนซ์
ปัญหาที่ใหญ่ที่สุดคือ SSHFS ส่วนใหญ่ฆ่าประสิทธิภาพการทำงานของ rsync โดยเฉพาะอย่างยิ่งสำหรับไฟล์ขนาดกลางถึงขนาดใหญ่เมื่อ rsync เห็นว่ามีการแก้ไขไฟล์มันจะคำนวณ checksums ของส่วนต่าง ๆ ของไฟล์ในแต่ละด้านเพื่อถ่ายโอนเฉพาะส่วนที่ได้รับการแก้ไข นี่คือการเพิ่มประสิทธิภาพเฉพาะเมื่อแบนด์วิดท์เครือข่ายมีขนาดเล็กกว่าดิสก์แบนด์วิดท์อย่างมีนัยสำคัญซึ่งโดยปกติจะเป็นกรณี แต่ด้วย SSHFS แบนด์วิดท์“ ดิสก์” นั้นแท้จริงแล้วเป็นแบนด์วิดท์เครือข่ายดังนั้น rsync จะต้องอ่านไฟล์ทั้งหมดเพื่อกำหนดว่าจะคัดลอกอะไร ในความเป็นจริงด้วยการคัดลอกโลคัล (ซึ่งเป็นเท่าที่เกี่ยวข้องกับ rsync แม้ว่าหนึ่งในด้านที่อยู่ใน SSHFS) rsync เพียงแค่คัดลอกไฟล์ทั้งหมด
SSHFS เป็นอันตรายต่อประสิทธิภาพหากมีไฟล์ขนาดเล็กจำนวนมาก Rsync ต้องตรวจสอบอย่างน้อยเมทาดาทาของทุกไฟล์เพื่อตรวจสอบว่ามีการปรับเปลี่ยนหรือไม่ ด้วย SSHFS สิ่งนี้ต้องการการเดินทางไปกลับเครือข่ายสำหรับแต่ละไฟล์ ด้วย rsync บน SSH ทั้งสองฝ่ายสามารถทำงานแบบขนานและถ่ายโอนข้อมูลเป็นกลุ่มซึ่งเร็วกว่ามาก
ในแง่ของข้อ จำกัด การเข้าถึง SSHFS ต้องการการเข้าถึง SFTP ในขณะที่ rsync ต้องการความสามารถในการเรียกใช้รหัส (โดยเฉพาะโปรแกรม rsync) ผ่านทางเชลล์ หากผู้ใช้ไม่จำเป็นต้องมีบัญชีเปลือกมันเป็นไปได้และร่วมกันเพื่อให้บัญชีที่มีเปลือกพิเศษที่เพียง แต่ช่วยให้การรันโปรแกรมไม่กี่รวมและsftp-server
rsync
เห็นไหมคุณจำเป็นต้องมีเปลือกสำหรับ SCP หรือไม่?
หากคุณเพียงคัดลอกไฟล์ใหม่และไม่มีไฟล์จำนวนมากมากก็ไม่มีความแตกต่างด้านประสิทธิภาพที่มีความหมาย
SSHFS สร้างการเชื่อมต่อ SSH เมื่อระบบไฟล์ติดตั้งและเก็บการเชื่อมต่อนั้นจนกว่าจะถูกถอดออก Rsync สร้างการเชื่อมต่อใหม่ทุกครั้งที่คุณเรียกใช้ แต่คุณสามารถใช้คุณสมบัติมัลติเพล็กซ์และ Piggyback บนการเชื่อมต่อหลักเดียวเพื่อหลีกเลี่ยงการตรวจสอบสิทธิ์ในแต่ละครั้ง
SSHFS เป็นระบบไฟล์ FUSE ดังนั้นจึงรองรับเฉพาะข้อมูลเมตา Unix ดั้งเดิมและ ACL Rsync สามารถถ่ายโอนแอตทริบิวต์เพิ่มเติม (คุณจำเป็นต้องใช้rsync -aAX
โปรดทราบว่าธรรมดา-a
รักษาข้อมูลเมตาของ Unix แบบดั้งเดิมเท่านั้น)
rsync --no-whole-file /mounted/file.tar.gz /home/local/file.tar.gz
ต่อมาไฟล์ที่มีการปรับปรุงเกี่ยวกับการติดตั้งไดเรกทอรีและฉันต้องการที่จะคัดลอกเฉพาะส่วนการปรับปรุงเพื่อไดเรกทอรีท้องถิ่นของฉันโดยใช้ เมื่อฉันใช้rsync
สำหรับการดำเนินการนี้ในระหว่างการคำนวณเช็คซัมเพื่อถ่ายโอนเฉพาะส่วนที่ได้รับการแก้ไขrsync
ควรอ่านไฟล์ทั้งหมดซึ่งจะนำไปสู่ข้อมูลที่สมบูรณ์ที่จะดาวน์โหลดแทนที่จะเป็นเฉพาะส่วนที่ปรับปรุงแล้ว @Gilles