Чи можливо обмежити швидкість передачі scp / sftp / rsync / тощо з командного рядка? тобто ручний QoS для однієї команди?


10

Зокрема, я прагну обмежити швидкість scpабо sftpсеанс (або інший довільний мережевий дзвінок) у самому дзвінку .

Наприклад, скажімо, я хочу скопіювати 100 Мб на один сервер, а 1 Гб - на інший. Мені б хотілося одночасно запускати і те, і інше, але підтримувати 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", який називається " струк ".

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 - один інструмент для обгортки проти вивчення всіх варіантів для кожного - це велике вдосконалення :)
warren

16

scp має -l, а rsync має --bwlimit.


це не було варіантом на manсторінці, яку я перевіряв раніше ... схоже, це залежить від платформи, можливо?
warren

Цілком можливо. У мене тут OpenSSH 5.3p1.
Ігнасіо Васкес-Абрамс

XenServer 6 має scp з опцією -l
Brian Boatright

Прапор -l у scp не працює на Solaris 11. Чи є інший варіант чи альтернатива?
Алхімік

7

Rsync робить це легким для вас, у нього є можливість зробити це: --bwlimit=KBPS


2

sftp має прапор дросельної заслінки, як у Debian 7 та Ubuntu 12.04 у цих дистрибутивах:

-l limit

    Обмежує використану пропускну здатність, вказану в Кбіт / с.

(Звичайно, це нижчий регістр L.)

Джерело: stfp(1)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.