Cygwin Rsync медленно при резервном копировании 2 внешних жестких дисков - PullRequest
4 голосов
/ 23 декабря 2011

Я написал сценарий оболочки для резервного копирования моих внешних жестких дисков через мой ноутбук. Я в основном подключил свои внешние жесткие диски к USB-портам ноутбука и выполнил следующую команду в сценарии для резервного копирования 1 жесткого диска на другой жесткий диск.

 rsync -arvv "$flg" --log-file="$LOGFILE" "$srcdir" $BAKUP_DIR 2> "$ERRFILE"
 $ rsync --version
   rsync  version 3.0.9  protocol version 30

Флэг либо --delete, либо пробел в зависимости от того, как я хочу сделать резервную копию каталога. Я считаю, что это медленно по какой-то причине, которую я не могу понять. Я думаю, что при резервном копировании файлы передаются без необходимости. Я вижу, что части файлов отправляются (и растут) при просмотре через Проводник и задаются вопросом, почему это так.

и файл журнала ...

  grep -C 15 delta 2011-12-23-37_bk.log
  2011/12/23 14:28:34 [8712] total: matches=0  hash_hits=0  false_alarms=0 data=2133674141
  2011/12/23 14:28:35 [8712] sent 2133939896 bytes  received 772 bytes  1854794.15 bytes/sec
  2011/12/23 14:28:35 [8712] total size is 3901493999  speedup is 1.83
  2011/12/23 14:28:35 [5072] building file list
  2011/12/23 14:28:39 [5072] delta-transmission disabled for local transfer or --whole-file

Это нормально или мне чего-то не хватает?

Ответы [ 4 ]

3 голосов
/ 19 января 2012

Я столкнулся с точно такой же проблемой в системе, где недавно установил Cygwin: rsync был слишком медленным.Используя опцию --progress, я мог видеть, что rsync передавал файлы со скоростью всего около 2/3 МБ ​​/ с между внешним диском USB 3.0 и внутренним диском.

В аналогичной системе эта же операция работалакак и ожидалось (60/70 МБайт / с).

Попробовав много вещей, я понял, что «rsync --version» в системе было 3.0.9, где я только что установил Cygwin, и 3.0.8 наСистема, где она работала нормально.Похоже, что 3.0.9 что-то сломал.

Я скопировал файл rsync.exe (v3.0.8) из одной системы поверх rsync.exe (v3.0.9) другой системы, а теперь и файлыпередаются с ожидаемой скоростью (60/70 МБайт / с).

2 голосов
/ 20 марта 2013

У меня была точно такая же проблема, и я также решил ее, установив rsync версии 3.0.8. Но вместо этого, если вы копируете .exe, вы можете просто повторно выполнить установку cygwin. В диспетчере пакетов для поиска «rsync» программа установки по-прежнему содержит опцию установки 3.0.8, что означает, что вы можете легко понизить версию с 3.0.9 до 3.0.8. С этого момента все возвращается к норме и макс. скорость.

1 голос
/ 05 февраля 2014

У меня тоже была эта проблема с rsync 3.0.9 на Cygwin64 (передача ~ 3MB / s).

Возврат к 3.0.8 недоступен на Cygwin64, так как его нет в репо.

Однако я скачал rsync 3.1.0 и собрал его вручную (просто нужно установить gcc и make), и это значительно улучшилось.

3.1.0 собрал самуправляет ~ 35 МБ / с.Копия проводника Windows была быстрее (около 50 МБ / с), но я возьму ее!

0 голосов
/ 13 февраля 2015

У меня та же проблема со скоростью передачи ~ 4MB / s rsync.Эта скорость сообщается как монитором ресурсов, так и с -P на rsync.Ему было поручено копировать файлы резервных копий размером ~ 200 ГБ с одного диска на другой, и в течение нескольких лет на их копирование приходилось около 1,5 часов.Не очень быстро, но достаточно хорошо для меня.Что-то, должно быть, недавно сломалось и, без сомнения, из-за некоторого обновления системы Windows, так как я не обновлял Cygwin в течение нескольких лет.Работа заняла ~ 14 часов, что заставило меня взглянуть на нее поближе.Я обновил x32 Cygwin, который я использовал, до последней версии (rsync версии 3.1.0, версия протокола 31) и установил x64 версию Cygwin, чтобы увидеть, имеет ли это какое-то значение.Нет.

Думая, что это может быть один или другой из жестких дисков, которые могут выходить из строя, я убедился, что оба были полностью дефрагментированы и очищены от любого мусора.Затем я заменил команду «rsync -a», которую я использовал, на «cp -au» и измерил пропускную способность.С помощью cp он читает и записывает со скоростью ~ 100 МБ / с, что и поддерживается аппаратным обеспечением, и копирует эти ~ 200 ГБ за 30 минут.Так что что-то в rsync не совсем правильно.

Мой обходной путь - отказаться от использования rsync в пользу cp.Гораздо быстрее просто предварительно удалить все дерево каталогов на целевом объекте и сделать так, чтобы cp скопировал совершенно новое, чем rsync, чтобы синхронизировать эти два каталога.Возможно, есть даже лучший вариант, но у меня это работает.

...