Как установить ограничение скорости rsync на использование всей пропускной полосы с помощью опции -bwlimit

Joined
Aug 17, 2016
Messages
1,788
Reaction score
826
Команда rsync использует всю мою пропускную способность из сценария резервного копирования и генерирует тонны ввода-вывода. Как установить лимит скорости передачи файлов для команды rsync в Linux или Unix-подобной системе? Как я могу предостеречь команду rsync от использования всей моей пропускной способности?

Вы можете легко ограничить пропускную способность ввода-вывода, используя опцию —bwlimit. В этом руководстве вы узнаете, как настроить ограничение ввода-вывода, используя команду rsync для Linux, MacOS, FreeBSD и Unix-подобных систем.

4aca967ec8a29f90f3be6.png

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



Code:
rsync --bwlimit=KBPS src dst
rsync --bwlimit=KBPS [options] src dst
rsync --bwlimit=KBPS [options] src user@dst
rsync --bwlimit=KBPS [options] user@src /path/to/dir
rsync --bwlimit=KBPS -a -P

/path/to/dir/ [email protected]
Вам нужно установить предел ввода-вывода на 1000 КБ в секунду:

Code:
$ rsync --bwlimit=1000 /path/to/source /path/to/dest/
$ rsync --bwlimit=1000 /var/www/html/ \
[email protected]:~/mysite.backups/


В этом примере загрузите файлы с FreeNAS-сервера со скоростью 5000 КБ/с в текущий каталог:

Code:
$ rsync --bwlimit=5000 --delete -P -az -H --numeric-ids \
[email protected]:linode-www .

Поздоровайтесь с ionice
Используйте команду ionice для того, чтобы для установки или получения класса планирования и приоритета ввода-вывода для программы, такой как rsync, или для собственного сценария резервного копирования. Таким образом, вы можете управлять пропускной способностью ввода-вывода с помощью утилиты ionice в Linux следующим образом:

Code:
# /usr/bin/ionice -c2 -n7 /root/scripts/nas.backup.full

ИЛИ


Code:
# /usr/bin/ionice -c2 -n7 rsync \
-bwlimit=1000 /path/to/source /path/to/dest/

Где:

  1. -c или —class {class} : Имя или количество классов планирования, 0: нет, 1: realtime, 2: best-effort, 3: idle.
  2. -n или —classdata {num} : Приоритет (0..7) в указанном классе планирования, только для классов realtime времени и best-effort.
 
Top