16.10. Ограничение загрузки канала при использовании rsync

Проблема

Rsync может моментально парализовать работу канала связи; только представьте, как архивация нескольких гигабайт аудиофайлов отразится на работе загруженной сети. Это приводит к высоким задержкам, которые мешают другим задачам. Часто возникает необходимость передавать большие объёмы данных, такие как медиафайлы или резервные копии, не прерывая при этом работу критических процессов. Встает вопрос: можно ли ограничить использование канала для rsync без полноценного отслеживания и управления трафиком через маршрутизаторы или прокси-серверы?

Решение

Встроенный в rsync параметр --bwlimit позволяет ограничить скорость передачи данных. Команда выглядит следующим образом:

$ rsync -a --bwlimit=256 rsync.test.net::testnetftp/ /frp/mirror

Этот параметр задаёт предельную пропускную способность (в килобайтах в секунду), не превышая которой rsync будет передавать данные. Это помогает избежать перегрузки канала и сохранить стабильность сети даже при большом объёме передаваемых данных.

Комментарий

Значение --bwlimit задаётся в килобайтах в секунду; учтите это при выборе значения, соответствующего вашим потребностям. Также не забывайте, что большинство сетей измеряют скорость передачи данных в килобитах в секунду. Для точного ограничения переведите требуемую скорость в килобайты (1 килобайт равен 8 килобитам).

Например, если требуется ограничение канала до 2 мегабит в секунду, поделите 2000 килобит на 8, получив 250 килобайт. Таким образом, команда rsync будет выглядеть так:

$ rsync -a --bwlimit=250 источник/ назначение/

При правильной настройке --bwlimit можно избежать необходимости применения специализированного ПО для управления трафиком. Данный подход особенно эффективен при настройке сетей с ограниченной пропускной способностью, таких как удалённые офисы или домашние сети.

Помните также, что rsync предоставляет множество дополнительных параметров, полезных при оптимизации передачи данных. Например, опция --compress (-z) может значительно снизить объём передаваемых данных, если они поддаются сжатию. Это позволяет сократить не только трафик, но и время передачи, особенно при работе с текстовыми файлами и документами.

Ещё один полезный параметр — --progress, который отображает ход передачи данных и скорость передачи в реальном времени. Это даёт возможность контролировать процесс и оценивать, насколько эффективно работает ограничение по ширине канала.

См. также