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 neste servidor mesmo.

Minha primeira tentativa foi enviar por SCP:

julio@julio-acer ~> 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 45Kbyte/s (360Kbit/s):

julio@julio-acer ~> 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
Data Engineer

I’m a computer engineer passionate about science, technology, photography, and languages. Currently working as a Data Engineer in Germany.

comments powered by Disqus