Алгоритм инкрементальной передачи данных в rsync позволяет копировать только изменённые части файлов, что уменьшает объём передаваемых данных и ускоряет синхронизацию. codetryout.com
Процесс включает следующие шаги: codetryout.com
- Сравнение контрольных сумм (хешей). codetryout.com Rsync сравнивает контрольные суммы файлов в исходном и целевом каталогах. codetryout.com Это позволяет быстро определить, какие файлы изменились. codetryout.com
- Передача части файла. codetryout.com Вместо копирования всего файла rsync копирует только изменённые его части. codetryout.com Для этого файлы делятся на небольшие блоки, которые сравниваются между исходным и целевым каталогами. codetryout.com Затем передаются только отличающиеся блоки. codetryout.com
- Обработка удаления файлов. codetryout.com Rsync может обнаруживать, когда файлы были удалены в исходном каталоге. codetryout.com По умолчанию он не удаляет файлы в целевом каталоге, чтобы отразить исходные, но можно использовать опцию –delete, чтобы включить это поведение. codetryout.com
Таким образом, утилита rsync мониторит директорию и отправляет изменения на сервер в следующих случаях: если были добавлены новые файлы, произведены изменения в файлах контролируемой директории или произошло удаление файлов в контролируемой директории. proglib.io