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 😉.