LINUX.ORG.RU
ФорумAdmin

rsync не передаёт дельту, заливает целый файл


0

1

Есть два каталога, test1 и test2. В каталоге test1 лежат файлы, каталог test2 пуст. Выполняю

rsync -vh --progress test1/ test2/

Всё ок, во втором каталоге появляюится копии файлов из первого каталога. После этого выполняю данную команду ещё раз. Т.к. файлы я не менял, по всей логике rsync не должен ничего копировать, но лог говорит об обратном - после повтороного запуска команды копирутся все файлы целиком ещё раз. В чём проблема? Для теста выполнял различные манипуляции с изменением отдельных файлов и т.п., но результат один и тот же, rsync не копирует дельту, а заливает файлы целиком. ((



Последнее исправление: windusyatnik (всего исправлений: 1)

Ответ на: комментарий от r2d2

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

windusyatnik
() автор топика
Ответ на: комментарий от r2d2

Всё делается на одном разделе в пределах одной ФС - ext4. Копирует быстро, даёт скорость около 100 мегабайт в сек.

windusyatnik
() автор топика
Ответ на: комментарий от r2d2

Он пишет sent 200 Mb. У меня есть большой файлик на 120 Гб, когда сделал тоже самое, рсинк создал временный файл и нафигачил в него уже 10 Гб при общем прогрессе в 8%, т.е. когда прогресс подойдёт к 100% он нафигачит все 120 Гб.

windusyatnik
() автор топика
Ответ на: комментарий от windusyatnik

Блин, хотя не факт, что он передаёт все 120 Гб по сетке, это я торможу.. Кажется разобрался. Временный файл формируется из старого файла и дельты. А как узнать размер дельты, можно как-то посмотреть?

windusyatnik
() автор топика
Ответ на: комментарий от windusyatnik

Вообщем задача изменилась. Как просмотреть реальный размер данных, которые передаются по сети при синхронизации рсинком? Т.е. нужен размер дельты.

windusyatnik
() автор топика
Ответ на: комментарий от r2d2

А вот и не фига, погорячился я с выводами. Получил передачу дельты только при указании параметра --no-whole-file. По умолчанию почему-то включён режим передачи всего файла, как будто включен параметр -W.

windusyatnik
() автор топика

rsync -vaxS -B 8192 --inplace --progress /source/ /destination

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.