Я использую rsync 3.1.1 для синхронизации двух дисков, один из которых находится в сети и подключен как общий ресурс samba /mnt/ROUTER_WD_2TB/
. Это источник со скоростью 30-40 МБ / с из-за ограничений сети. Другой, пункт назначения, установлен локально (пик 110 МБ / с) и является /mnt/BACKUP_HITACHI_2TB/
.
Я использую следующую команду rsync:
rsync -haAXi --quiet --append-verify --delete /mnt/ROUTER_WD_2TB/* /mnt/BACKUP_HITACHI_2TB/.
Диски содержат много файлов, большинство из них небольшие.
Проблема в том, что rsync занимает довольно много времени (10-20м), прежде чем начать перемещать какие-либо файлы, я полагаю, потому что он должен вычислять списки файлов для очень большого количества маленьких файлов. В течение этого периода загрузка нового устройства составляет 200-500 КБ / с, тогда как при передаче файлов скорость составляет около 40 МБ / с.
Обычно случается, что rsync занимает около 15 м, чтобы наконец найти то, что ему нужно скопировать, затем 5 секунд, чтобы скопировать его, затем продолжает проверку других файлов для копирования еще 5 минут. В итоге, 5-секундная копия файла длится 20 минут!
Могу ли я предпринять какие-либо меры, чтобы избежать этого длительного периода перед копированием файлов, кроме исключения папок? Любой вид «кеша», который я могу реализовать, чтобы rsync не перестраивал весь список файлов с нуля?