เป็นไปได้หรือไม่ที่จะ จำกัด อัตราการถ่ายโอน scp / sftp / rsync / etc จากบรรทัดคำสั่ง? เช่นคู่มือ QoS ในคำสั่งเดียว?


10

โดยเฉพาะฉันกำลังมองหาที่จะมีอัตราการ จำกัดscpหรือsftpเซสชั่น (หรืออื่น ๆ โทรเครือข่ายพล) ในการเรียกตัวเอง

ตัวอย่างเช่นสมมติว่าฉันต้องการคัดลอก 100MB ไปยังเซิร์ฟเวอร์หนึ่งและ 1GB ไปยังเซิร์ฟเวอร์อื่น ฉันต้องการที่จะสามารถเรียกใช้ทั้งสองนี้ในเวลาเดียวกัน แต่รักษา QoS สำหรับการใช้งานคอมพิวเตอร์ "ปกติ" - ค่อนข้างคล้ายกับวิธีที่คุณสามารถ จำกัด BitTorrent

มีวิธีการทำเช่นนี้โดยไม่ต้องสัมผัสฮาร์ดแวร์เครือข่ายหรือไม่?

ฉันจินตนาการถึงสิ่งที่คล้ายกับ:

magic-qos-tool 'scp file user@host:/path/to/file'

หรือ..

scp -rate 40kbps file user@host:/path/to/file

คำตอบ:


12

ใช่มีแอปพลิเคชันที่ทำงานเหมือนกับ 'magic-qos-tool' ของคุณที่เรียกว่า " trickle "

EXAMPLES
     trickle -u 10 -d 20 ncftp

     Launch ncftp(1) limiting its upload capacity to 10 KB/s, and download ca-
     pacity at 20 KB/s.

1
ขอบคุณ @davr - เครื่องมือกระดาษห่อหนึ่งเทียบกับการเรียนรู้ตัวเลือกทั้งหมดที่แต่ละคือการปรับปรุงที่ดี :)
วอร์เรน

16

SCP มี-lและ rsync --bwlimitมี


นั่นไม่ใช่ตัวเลือกในmanหน้าฉันตรวจสอบก่อนหน้า ... ดูเหมือนว่ามันขึ้นอยู่กับแพลตฟอร์มบางที
วอร์เรน

อาจจะค่อนข้าง ฉันมี OpenSSH 5.3p1 ที่นี่
Ignacio Vazquez-Abrams

XenServer 6 มี scp พร้อมตัวเลือก -l
Brian Boatright

แฟล็ก -l ใน scp ไม่ทำงานบน Solaris 11 มีตัวเลือกหรือทางเลือกอื่นหรือไม่?
นักเล่นแร่แปรธาตุ

7

Rsync ทำให้คุณง่ายขึ้นมีตัวเลือกในการทำเช่นนี้: --bwlimit=KBPS


2

sftp มีการตั้งค่าสถานะ throttle ตาม Debian 7 และ Ubuntu 12.04 ในการแจกแจงเหล่านั้น:

-l limit

    จำกัด แบนด์วิดท์ที่ใช้ซึ่งระบุใน Kbit / s

(แน่นอนว่าเป็นตัวพิมพ์เล็กL)

ที่มา: stfp(1)

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