Você não pode fazer isso diretamente, mas ...
Possíveis soluções e ideias alternativas:
-
QoS por classe DSCP ou IPv4 tipo de serviço . Versões recentes do cliente ssh têm uma opção
IPQoS
. Você poderia especificar isso especificamente para rsync , ou globalmente para todas as sessões não interativas. (Versões mais antigas ssh têm codificado em "lowdelay" (interativo) e "throughput" (não interativo).
Opção -
ssh
ProxyCommand
, usandonetcat
ousocat
para criar a conexão TCP. Por exemplo, um comando proxy desocat tcp:%h:%p,bind=192.168.0.1:4242 stdio
sempre se conectará do endereço especificado: par de portas. Esta é a resposta mais próxima à sua pergunta ("especificar porta de origem rsync"), mas provavelmente não é a melhor solução para QoS. -
QoS por endereço IP. Você pode atribuir um segundo endereço IP ao seu computador e dizer ao rsync para usá-lo para transferências (a opção ssh
BindAddress
). É um truque bagunçado, mas pode ser aplicado a todos os programas.
Todas as opções ssh listadas acima podem ser especificadas:
-
através de rsync ;
-e "ssh -oIPQoS=cs2"
-
por meio de um alias definido em
~/.ssh/config
:Host myserver-qos Hostname myserver IPQoS cs2 $ rsync /path myserver-qos:/path