Rsync - Limitar upload

Hoje meu pai me pediu para enviar algumas coisas para ele. Eram 10 arquivos de aproximadamente 250MB cada; muito trabalho para mandar por email, 2.5GB excederia meu limite no Dropbox e ainda não existe Google Drive para Linux (só via web, meh). A solução mais simples era armazenar no meu servidor mesmo.

Minha primeira tentativa foi enviar por scp:

scp -r arquivos/ julio@juliobs.com:~/www

Porém a transferência estava em velocidade máxima, fazendo com que a internet ficasse muito lenta. Eu poderia limitar a velocidade usando iptables, Trickle, pv e até diretamente pelo roteador, mas essas alternativas não são muito práticas.

Para minha alegria, lendo o manual do scp reparei que seus desenvolvedores já implementaram a opção de limitar a banda:

-l ;limit: Limits the used bandwidth, specified in Kbit/s.

Portanto bastaria eu usar o seguinte comando, para copiar os arquivos com velocidade limitada em 45 Kbyte/s (360 Kbit/s):

scp -l 360 -r arquivos/ julio@juliobs.com:~/www

Mas ainda antes de chegar a testar essa opção eu lembrei do rsync, que possui a vantagem de permitir interromper o upload e retomar depois e de sincronizar os arquivos caso eu altere algo posteriormente.
Além disso ele também possui uma opção de limitar a velocidade de upload:

rsync -hrPvpt --bwlimit=45 -e ssh arquivos/ julio@juliobs.com:~/www/arquivos

Não esqueça de limitar os torrents também 😉.

Julio Batista Silva
Julio Batista Silva
Engenheiro de Dados

Eu sou um engenheiro de computação apaixonado por ciência, tecnologia, fotografia e idiomas. Atualmente trabalhando como Engenheiro de Dados na Alemanha.

comments powered by Disqus