rsync

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
rsync
Тип

Протокол передачи данных и утилита

Разработчик

Wayne Davison

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

3.1.1 (22 июня 2014)

Лицензия

GPL

Сайт

http://rsync.samba.org/

rsync (англ. Remote Synchronization) — программа для UNIX-подобных систем, которая выполняет синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию.

rsyncd — демон, реализующий протокол rsync. По умолчанию использует TCP порт 873.

Выпущен под лицензией GNU GPL, rsync является свободным программным обеспечением.

Алгоритм[править | править вики-текст]

Утилита rsync использует алгоритм, разработанный австралийским программистом Эндрю Триджеллом, для эффективной передачи структур (например, файлов) по коммуникационным соединениям в том случае, когда принимающий компьютер уже имеет отличающуюся версию этой структуры.

Принимающий компьютер разделяет свою копию файла на неперекрывающиеся куски фиксированного размера S, и вычисляет контрольную сумму для каждого куска: MD4-хеш и более слабый кольцевой хэш, и отправляет их серверу, с которым синхронизируется.

Сервер, с которым синхронизируются, вычисляет контрольные суммы для каждого кусочка размера S в своей версии файла, в том числе перекрывающиеся куски. Это может быть эффективно подсчитано ввиду особого свойства кольцевого хэша: если кольцевой хэш байт от n до n + S − 1 равняется R, то кольцевой хэш байт от n + 1 до n + S может быть посчитан исходя из R, байта n и байта n + S без необходимости учитывать байты, лежащие внутри этого интервала. Таким образом, если уже подсчитан кольцевой хэш байт 1—25, то для подсчета кольцевого хэша байт 2—26 используется предыдущее значение и байты 1 и 26.

Применение[править | править вики-текст]

rsync была создана как замена для rcp и scp. Одним из первых применений rsync стало зеркалирование или резервное копирование клиентских Unix-систем на центральный Unix-сервер с использованием rsync/ssh и обычной учетной записи Unix. С планировщиком задач, таким как cron, возможно организовать автоматизированное основанное на rsync зеркалирование по защищенному криптографически каналу между многими компьютерами и центральным сервером.

См. также[править | править вики-текст]

  • cwRsync — реализация rsync под Windows

Ссылки[править | править вики-текст]