From Wikipedia (Ru) - Reading time: 4 min
| Rsync | |
|---|---|
| Тип | утилита, сетевой протокол[вд], дифференциальный бэкап[вд] и передача данных |
| Разработчик | Эндрю Триджелл |
| Написана на | Си[2] |
| Операционная система | Unix-подобная операционная система |
| Первый выпуск | 19 июня 1996 |
| Аппаратная платформа | Unix-подобная операционная система |
| Последняя версия | |
| Репозиторий | github.com/RsyncProject/… |
| Лицензия | GPL 3.0+[3] |
| Сайт | rsync.samba.org (англ.) |
rsync (англ. remote synchronization) — программа для UNIX-подобных систем, которая эффективно выполняет синхронизацию файлов и каталогов в двух местах (необязательно локальных) с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию. rsync передаёт только изменения файлов, что отражается на производительности программы.
Выпущен под лицензией GNU GPL.
Подобно rcp и scp, rsync требует указания источника и назначения; любой из них может быть удалённым, но не оба одновременно.
Общий синтаксис:
rsync [OPTION] … SRC … [USER@]HOST:DEST
rsync [OPTION] … [USER@]HOST:SRC [DEST]
где SRC — это файл или каталог (или список из нескольких файлов и каталогов) для копирования, DEST — файл или каталог для копирования, а квадратные скобки указывают необязательные параметры.
rsyncd — демон, реализующий протокол rsync. По умолчанию использует TCP-порт 873.
Rsync также может быть запущен в режиме демона, который принимает следующие параметры:
--daemon — запустить rsync как демон,--address=ADDRESS — связаться с определённым адресом,--config=FILE — определить конфигурацию rsyncd «rsyncd.conf»,--port=PORT — указать порт подключения,--log-file=FILE — переписать настройки логирования («log file»),--sockopts=OPTIONS — указать TCP параметры,-h, --help — посмотреть дополнительные опции (если указать после флага --daemon).rsync -arv somedirectory otherplace — сохранить все атрибуты, синхронизировать рекурсивно, подробный вывод информации в процессе работы.rsync -arv local/directory user@remote.server.address:/remote/directory/ — копирование из локального каталога в удалённый.rsync -arv user@remote.server.address:/remote/data local/directory/ — копирование из удалённого каталога в локальный.rsync -arv --progress user@remote.server.address:/remote/data local/directory/ — показать прогресс в процентах для каждого файла.rsync -arv --exclude={"*.jpg", "*.png"} user@remote.server.address:/remote/data local/directory/ — исключить все файлы с расширением .jpg и .png.rsync -arv --delete user@remote.server.address:/remote/data local/directory/ — удалить файлы в каталоге назначения, если в каталоге-источнике больше таких файлов нет.Утилита 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 зеркалирование по защищенному криптографически каналу между многими компьютерами и центральным сервером.
Большинство пользователей используют команду rsync в качестве бэкапов и для синхронизации данных между локальными и удалёнными системами, так как она позволяет быстро, эффективно и с минимальными ресурсами выполнять инкрементальные копирования, а также сохранять права доступа и метаданные файлов.
| Program | Операционная система | Бесплатное программное обеспечение | Описание | ||
|---|---|---|---|---|---|
| Linux | macOS | Windows | |||
| Back In Time (англ.) | Да | Нет | Нет | Да | Интегрируются в GNOME и KDE SC 4 и доступны непосредственно из репозиториев многих дистрибутивов Linux |
| BackupAssist (англ.) | Нет | Нет | Да | Нет | Прямое зеркало или с историей, VSS. |
| cwRsync | Нет | Нет | Да | Нет | На основе Cygwin. |
| Grsync (англ.) | Да | Да | Да[4] | Да | Графический интерфейс для rsync в Linux и Windows-системах |
| GS RichCopy 360 (англ.) | Нет | Нет | Да[5] | Нет | Предназначен только для рабочих станций MS Windows и серверов с поддержкой VSS. |
| LuckyBackup (англ.) | Да | Да | Да | Да | Он предоставляет графический интерфейс, основанный на кросс-платформенной библиотеке Qt |
Для улучшения этой статьи желательно:
|