rsync
rsync | |
---|---|
Тип | утилита, сетевой протокол[вд], дифференциальный бэкап[вд] и передача данных |
Разработчик | Wayne Davison |
Написана на | Си[1] |
Операционная система | Кроссплатформенное программное обеспечение |
Первый выпуск | 19 июня 1996 |
Аппаратная платформа | Unix-подобная операционная система |
Последняя версия | 3.1.2 (21 декабря 2015) |
Репозиторий | github.com/RsyncProject/… |
Лицензия | GPL |
Сайт | 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
Литература
[править | править код]- Preston, W. C. Backup & Recovery: Inexpensive Backup Solutions for Open Systems. — O'Reilly Media, 2007. — P. 114-118. — 768 p. — ISBN 9780596555047.
Ссылки
[править | править код]- Официальный сайт (англ.)
- Восстановление «битого» ISO-образа с помощью rsync (рус.)
- Полезные рецепты при работе с rsync (рус.)
Для улучшения этой статьи желательно:
|