Rate this post

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

Как ограничить скорость передачи rsync

Синтаксис:n

rsync --bwlimit=KBPS src dstnrsync --bwlimit=KBPS [options] src dstnrsync --bwlimit=KBPS [options] src user@dstnrsync --bwlimit=KBPS [options] user@src /path/to/dirnrsync --bwlimit=KBPS -a -P /path/to/dir/ [email protected]

Вы устанавливаете предел ввода-вывода в 1000 Кбайт в секунду:n

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

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

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

Знакомтесь ionice

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

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

ИЛИn

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

Где:n

    n

  1. -c или -class {class}: имя или номер класса, 0: нет, 1: (real time) в реальном времени, 2: (best-effort) наивысший приоритет ввода вывода, 3: (idle) незанятое.
  2. -n или --classdata {num} : priority (0..7) в указанном классе планирования, только для классов в realtime b best-effort

n

Администрирование серверов, настройка резервного копирования, [email protected]