Rsync

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
rsync
160px
Автор(и) Andrew Tridgell, Paul Mackerras
Розробник(и) Wayne Davison
Перший випуск 19 червня 1996[1]
Стабільний випуск 3.1 (28 вересня 2013; 328 днів тому)
Написано на C
Платформа Unix-подібні, Windows
Стан розробки активний
Тип синхронізація даних, резервне копіювання
Ліцензія GNU GPLv3
Сайт rsync.samba.org

Rsyncутиліта для синхронізації файлів і резервного копіювання, що дозволяє мінімізувати трафік за рахунок інкрементального копіювання змін. В якості транспорту можуть бути використані ssh, rsh або власний протокол rsync. Підтримується організація роботи анонімних rsync-серверів, оптимально відповідних для забезпечення синхронізації дзеркал. Важливою відмінністю rsync від багатьох інших програм/протоколів є те, що дзеркалювання здійснюється одним потоком в кожному напрямку (а не по одному або кілька потоків на кожен файл). rsync може копіювати або відображати вміст теки і копіювати файли, опціонально використовуючи стиснення і рекурсію.

rsyncd — демон, який реалізує протокол rsync. За замовчуванням використовує TCP [[Порт протоколу |порт]] 873.

Випущений під ліцензією GNU GPL, rsync є вільним програмним забезпеченням.

Алгоритм[ред.ред. код]

Утиліта rsync використовує алгоритм, розроблений австралійським програмістом Ендрю Триджеллом, для ефективної передачі структур (наприклад, файлів) по комунікаційним сполукам в тому випадку, коли приймаючий комп'ютер вже має відмінну версію цієї структури. Приймаючий комп'ютер розділяє свою копію файлу на неперетинні шматки фіксованого розміру S, і обчислює контрольну суму для кожного шматка: MD4-геш і слабкіший rolling checksum, і відправляє їх серверу, з яким синхронізується.

Сервер, з яким синхронізуються, обчислює контрольні суми для кожного шматочка розміру S у своїй версії файлу, в тому числі перетинні шматки. Це може бути ефективно підраховано через особливі властивості rolling checksum: якщо rolling checksum байт від n до n+S-1 дорівнює R, то rolling checksum байт від n+1 до n+S може бути підрахований, виходячи з R, байта n і байти n+S без необхідності враховувати байти, що лежать всередині цього інтервалу. Таким чином, якщо вже підрахована rolling checksum байт 1-25, то для підрахунку rolling checksum байт 2-26 використовується попередня контрольна сума і байти 1 і 26.

Застосування[ред.ред. код]

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

Виноски[ред.ред. код]

Посилання[ред.ред. код]