Ist es möglich, eine Übertragung von scp / sftp / rsync / etc über die Befehlszeile zu beschränken? dh manuelle QoS mit einem einzigen Befehl?

10

Insbesondere möchte ich eine scpoder eine sftpSitzung (oder einen anderen beliebigen Netzwerkanruf) im Anruf selbst begrenzen .

Angenommen, ich möchte 100 MB auf einen Server und 1 GB auf einen anderen kopieren. Ich möchte in der Lage sein, beide gleichzeitig auszuführen, aber eine QoS für die "normale" Computernutzung beibehalten - ähnlich wie Sie Bittorrent auf Raten beschränken können.

Gibt es eine Möglichkeit, dies zu tun, ohne die Netzwerkhardware zu berühren?

Ich stelle mir etwas Ähnliches vor:

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

Oder..

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

Antworten:

12

Ja, es gibt eine Anwendung, die genau wie Ihr "Magic-Qos-Tool" funktioniert und " Trickle " heißt.

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.
davr
quelle
1
danke, @davr - ein Wrapper-Tool gegen das Erlernen aller Optionen für jede ist eine große Verbesserung :)
Warren
16

scp hat -lund rsync hat --bwlimit.

Ignacio Vazquez-Abrams
quelle
das war keine Option auf der manSeite, die ich zuvor überprüft habe ... sieht es so aus, als ob es von der Plattform abhängt, vielleicht?
Warren
Möglicherweise. Ich habe OpenSSH 5.3p1 hier.
Ignacio Vazquez-Abrams
XenServer 6 hat scp mit der Option -l
Brian Boatright
Das Flag -l in scp funktioniert unter Solaris 11 nicht. Gibt es eine andere Option oder Alternative?
Alchemist
7

Rsync macht es Ihnen einfach, es gibt eine Option, um dies zu tun: --bwlimit=KBPS

kbyrd
quelle
2

sftp hat ein Gasflag, ab Debian 7 und Ubuntu 12.04 in diesen Distributionen:

-l limit

    Begrenzt die verwendete Bandbreite, angegeben in Kbit / s.

(Natürlich ist das ein Kleinbuchstabe L.)

Quelle: stfp(1)

Thom Luxford
quelle