Синхронизация данных с помощью Rsync

Автор: | 01.04.2015

Rsync — это open source утилита которая обеспечивает быстрое инкрементное копирование ваших данных, что сокращает трафик и время выполнения самой операции. Имеет возможность кодирования данных. Rsync может копировать или отображать содержимое каталога, копировать файлы, опционально используя сжатие и рекурсию.

Rsync использует алгоритм Rsync, который обеспечивает очень быстрый метод для привлечения удаленных файлов в синхронизации. Он делает это путем отправки только различия в файлах, не требуя, чтобы оба набора файлов присутствовали на обоих сторонах заранее. На первый взгляд, это может показаться невозможным, потому что для расчета изменений между двумя файлами обычно требуется локальный доступ к обоим файлам.

Rsync как правило, использует SSH для связи. Он не требует никаких специальных привилегий для установки. Однако требуется иметь установленный SSH. Кроме того, Rsync может работать в режиме `демона ‘, слушая на сокете.

Достоинства rsync:

1. Скорость — синхронизируются только те файлы, которые были изменены.
2. Права доступа — rsync переносит файлы с их правами доступа.
3. Скрытые файлы — переносятся также и скрытые файлы и папки.
4. Удобство — процесс синхронизации файлов и папок между компьютерами выполняется с помощью всего одной команды.

Простые примеры использования:

#rsync [ключ] [откуда] [куда]

Ключи:

а — архивный режим, сохраняются время и права

z — сжатие данных во время передачи не обязательно, но рекомендуется

v — подробный режим, покажет процесс и покажет, если был сбой

r — рекурсивный, использует все директории и файлы

Полный список ключей man rsync

Синхронизация файлов и папок на локальном компьютере:

 #rsync -azvr /home/test/test1 /home/test/test2
 Все данные из /home/test/test1 будут в /home/test/test2

 Синхронизация с локального компьютера на удаленный:

#rsync -azvr user@host:/home/test/data1 /home/test/data2
Все данные из /home/test/data1 будут в на удаленном компьютере /home/test/data2

Так же есть Rsync под Windows. Программа называется cwRsync