Si usa la utilidad rsync para mantener sus copias de seguridad sincronizadas entre sus servidores o con una máquina local, es posible que desee evitar que la secuencia de comandos use demasiado ancho de banda. Sin embargo, rsync realiza muchas E/S de red. El objetivo de limitar el ancho de banda es asegurarse de que sus scripts de copia de seguridad no obstruyan la conexión de red.
Naturalmente, limitar la cantidad de ancho de banda que usan sus copias de seguridad hará que se realicen más lentamente, pero si puede lidiar con eso, esta es la forma de hacerlo.
Aquí hay un comando rsync normal:
$ rsync –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Lo que querrá hacer es usar el –bwlimit parámetro con un KB/segundo valor, así:
$ rsync –bwlimit=[kb/second] –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Entonces, si desea limitar la transferencia a alrededor de 10000 KB/s (9,7 MB/s), ingrese:
$ rsync –bwlimit=10000 –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Aquí hay un ejemplo del mundo real:
rsync –bwlimit=10000 –avz -e 'ssh' /backup/ [email protected]:/backup/
Aquí, rsync se reducirá a un ancho de banda de 10000 kb/segundo o 9,7 MB/s aproximadamente.
Uso de goteo
Existe una alternativa a la opción -bwlimit. También puede usar el comando "goteo" para limitar el ancho de banda de cualquier aplicación que ejecute. La sintaxis del comando de goteo es:
$ trickle -u|-d [uploadLimit|downloadLimit] [app]
Aquí,
-u uploadLimit -> limita el ancho de banda de carga
-d downloadLimit -> limita el ancho de banda de descarga
aplicación -> es la aplicación para la que desea limitar el ancho de banda, p. rsync.
Entonces, en nuestro caso, limitaremos el uso del ancho de banda del comando rsync a 0000 kb/segundo usando los siguientes comandos:
$ trickle -s -u 10000 -d 10000 rsync –avz -e 'ssh' /backup/ [email protected]:/backup/