rsync มีความสามารถในการดาวน์โหลดชิ้นพร้อมกันหรือไม่?


2

ฉันกำลังใช้ rsync สำหรับการสำรองข้อมูลส่วนตัวของฉันเอง แต่ในปัจจุบันฉันมี ISP ที่สามารถควบคุมการถ่ายโอนข้อมูลได้นาน การอ่าน rsync man pages ฉันไม่พบตัวเลือก แต่ฉันสงสัยว่า rsync มีการตั้งค่าให้เริ่มการถ่ายโอนใหม่หลังจากถ่ายโอนจำนวน X ไบต์หรือถือการถ่ายโอนเป็นเวลา Y วินาที

ผลการถอดสายเคเบิลเครือข่ายแล้วเชื่อมต่อใหม่ทุกสองสามนาทีจะทำสิ่งเดียวกัน แต่ฉันไม่ได้นั่งที่บ้านของฉันทั้งวัน

สงสัยเกี่ยวกับเรื่องนี้และในฐานะคำถามรองฉันยังสงสัยว่า rsync จะเริ่มเซสชันการถ่ายโอนไฟล์ใหม่สำหรับแต่ละไฟล์หรือส่งข้อมูลเป็นสตรีมแบบต่อเนื่อง


แม้ว่าสิ่งนี้จะไม่ตอบคำถามของคุณโดยตรงหากการถ่ายโอนข้อมูลสำรองใช้เวลานานเกินไปและนี่เป็นเพราะคุณทำการสำรองข้อมูลเต็มเสมอ วิธีการเหล่านี้มีข้อเสีย แต่พวกเขาสามารถลดปริมาณข้อมูลที่ถ่ายโอนได้อย่างมากหากนี่เป็นเป้าหมายหลักของคุณ
vtest

คำตอบ:


3

-e สามารถใช้ตัวเลือกเพื่อระบุโปรแกรมการขนส่งที่ใช้แทนค่าเริ่มต้น ssh เพื่อเปิดเปลือกที่อีกด้านหนึ่ง ฉันไม่รู้การทดแทนใด ๆ ที่จะทำสิ่งที่คุณต้องการ

rsync ทำงานได้โดยการเรียกใช้ rsyncd, rsync daemon ทางด้านระยะไกลและสื่อสารกับมันในสตรีมแบบยาวหนึ่งครั้ง


แทนที่จะมองหา ssh แทนฉันจะมองหาเสื้อคลุม autossh . อย่างไรก็ตามฉันเห็นด้วยกับการแก้ปัญหาที่ระดับ ssh มากกว่าระดับ rsync
Gilles

2

ลักษณะของการควบคุมปริมาณคืออะไร?

ถ้ามันเตะเพียงเพื่อการถ่ายโอนความเร็วที่แน่นอนคุณอาจใช้การควบคุมอัตรา rsyncs จากหน้าคน:

--bwlimit=KBPS
              This  option  allows  you to specify a maximum transfer rate in kilobytes
              per second. This option is most effective when  using  rsync  with  large
              files  (several  megabytes and up). Due to the nature of rsync transfers,
              blocks of data are sent, then if rsync determines the  transfer  was  too
              fast,  it  will wait before sending the next data block. The result is an
              average transfer rate equaling the specified limit. A value of zero spec‐
              ifies no limit.

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


1

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

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

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

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


ขณะนี้ฉันกำลังสำรองข้อมูลเริ่มต้นไปที่ไดรฟ์ส่วนใหญ่ที่สดใหม่ เมื่อเสร็จแล้วฉันไม่ต้องกังวลกับการควบคุมปริมาณมาก
palswim

ในกรณีนี้ฉันจะเรียกใช้ rsync ตราบเท่าที่ใช้ วิธีนี้จะง่ายกว่าถ้าคุณสามารถทำบน LAN แทนผ่านอินเทอร์เน็ต
BillThor

1

ฉันสงสัยว่าทำไมไม่มีใครพูดถึงการเขียนสคริปต์ที่ส่ง SIGSTOP และ SIGCONT ทุก ๆ ครั้งไปยังกระบวนการ rsync

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