rsync
алгоритм дельта-переноса делает это по умолчанию. Цитирование rsync manpage :
ОПИСАНИЕ
Rsync - это быстрый и необычайно универсальный инструмент для копирования файлов. Он может копировать локально, на / с другого хоста через любую удаленную оболочку или на / с удаленного демона rsync. Он предлагает большое количество параметров, которые управляют каждым аспектом его поведения и позволяют очень гибко задавать набор файлов для копирования. Он известен своим алгоритмом дельта-передачи, который уменьшает объем данных, передаваемых по сети, отправляя только различия между исходными файлами и существующими файлами в месте назначения . Rsync широко используется для резервного копирования и зеркалирования, а также как улучшенная команда копирования для повседневного использования.
Если вы хотите отключить его, вам придется использовать опцию -W
или --whole-file
.
-W, --whole-файл
Эта опция отключает алгоритм дельта-передачи rsync, который заставляет все переданные файлы отправляться целиком. Передача может быть быстрее, если этот параметр используется, когда полоса пропускания между исходным и целевым компьютерами выше, чем полоса пропускания на диск (особенно, когда «диск» фактически является сетевой файловой системой). Это значение по умолчанию, когда и источник, и пункт назначения указываются в качестве локальных путей, но только если не действует опция пакетной записи.
Если вы действительно знаете, как сильно изменился ваш файл, вы можете даже оптимизировать поведение дельта-передачи, настроив размер дельта-блока:
-B, --block-size = BLOCKSIZE
Это приводит к фиксированному значению размера блока, используемого в алгоритме дельта-передачи rsync. Обычно он выбирается в зависимости от размера каждого обновляемого файла. Смотрите технический отчет для деталей.
А если вам нужна дополнительная информация о самом алгоритме, вы можете найти его здесь: Алгоритм Rsync
rsync
ведет себя так по умолчанию. Пока незначительное изменение является незначительным изменением файла, и файл уже существует по обеим сторонам ссылки в почти идентичных версиях, передаваемые данные должны быть намного меньше, чем общий размер файла. Из первого абзаца на странице руководства: «Он известен своим алгоритмом дельта-передачи, который уменьшает объем данных, передаваемых по сети, отправляя только различия между исходными файлами и существующими файлами в месте назначения».