🖧 Как ограничить / уменьшить скорость передачи rsync на Linux

Мануал

Если вы используете утилиту rsync для синхронизации ваших резервных копий между серверами или локальным компьютером, возможно, вы захотите запретить скрипту использовать слишком большую полосу пропускной способности сети.

Смысл ограничения пропускной способности заключается в том, чтобы ваши скрипты резервного копирования не засоряли сетевое соединение.

Естественно, ограничение пропускной способности, которую используют ваши резервные копии, заставит их работать медленнее.

Вот обычная команда rsync:

$ rsync –avz -e ‘ssh’ /path/to/source user@remotehost:/path/to/dest/
То, что нужно сделать, это использовать параметр –bwlimit со значением КБ/с, например:
$ rsync –bwlimit=[kb/second] –avz -e 'ssh' /path/to/source user@remotehost:/path/to/dest/
Таким образом, если вы хотите ограничить скорость передачи до 10000 КБ/с (9,7 МБ / с), введите:
$ rsync –bwlimit=10000 –avz -e ‘ssh’ /path/to/source user@remotehost:/path/to/dest/

Вот пример из реального мира:

rsync –bwlimit=10000 –avz -e 'ssh' /backup/ root@192.168.0.51:/backup/
В этом примере rsync будет ограничен по скорости до 10000 кбит/с или около 9,7 МБ/с.

Использование trickle

Существует альтернатива опции -bwlimit.

Вы также можете использовать команду «trickle» для ограничения пропускной способности любого приложения, которое вы запускаете.

Синтаксис команды trickle:

$ trickle -u|-d [uploadLimit|downloadLimit] [app]

Где:

  • -u uploadLimit -> ограничивает полосу загрузки
  • -d downloadLimit -> ограничивает полосу скачивания
  • app -> это приложение, для которого вы хотите ограничить пропускную способность, например Rsync.
Таким образом, в нашем случае мы ограничим использование полосы пропускания команды rsync до 10000 КБ / с, используя следующие команды:
$ trickle -s -u 10000 -d 10000 rsync –avz -e 'ssh' /backup/ root@192.168.0.51:/backup/

 

Добавить комментарий