Что такое rsync

Обновлено Обновлено: Опубликовано Опубликовано:

Rsync —
простыми словами

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

По умолчанию, работает на сетевом порту 873. Также может работать по защищенному протоколу SSH.

Чаще всего, rsync применяется для резервного копирования и поддержки в актуальном состоянии узлов кластера. Синхронизация может выполняться как для локальных папок, так и для удаленных серверов.

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

rsync -a --delete-after /data/ /backup/

* в данном примере выполняется синхронизация каталога источника /data с каталогом /backup. Ключ delete-after по завершении операции удалит все файлы из каталога backup, которых нет в data. Ключ -a позволяет копировать только измененные файлы.

Полный перечень ключей можно получить командой man rsync.

С помощью rsync можно синхронизировать данные в обе стороны. Для этого нужно выполнить по очереди две команды:

rsync -a /data1/ /data2/ && rsync -a /data2/ /data1/

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

rsync -a -e 'ssh -p 22' --password-file=/root/rsync.passwd user@192.168.0.15:/data1/ /data2/

* данной командой мы выполняем синхронизацию папок по сети с удаленным компьютером 192.168.0.15. Использование ключа password-file позволит указать файл, в котором находится пароль для учетной записи user (от которой идет подключение), таким образом подключение выполняется без необходимости вводить пароль вручную, что важно для автоматизации. После ввода команды, система может потребовать принять сертификат — необходимо ввести yes.

Утилита rsync является кроссплатформенной — она хорошо работает как на Linux (например, Ubuntu и CentOS), FreeBSD и Windows (cwRsync). Скачать последнюю версию пакета можно на официальном сайте. Также, для UNIX-систем rsync доступен для установки из репозиториев.

В качестве аналогов, можно привести утилиты: Resilio Sync, Syncthing, SyncToy (для Windows).

Подробнее об rsync на Википедии

Встречается в статьях

Инструкции:

  1. Настройка синхронизации на CentOS и Ubuntu с Rsync Server
  2. Развертывание Битрикс24 ВМ на Linux Deb (Debian, Ubuntu, Astra)

Мини-инструкции:

  1. Как использовать резервные копии iRedMail для восстановления или переноса сервера
  2. Установка и настройка своего локального репозитория CentOS
  3. Создание резервных копий для Битрикс24 и восстановление данных
  4. Синхрониация каталогов в Linux с помощью Lsyncd
  5. Настройка Runner в GitLab CI/CD для загрузки изменений проекта на веб-серверы после коммита
  6. Перенос почтовых данных Zimbra с одного сервера на другой
  7. Как использовать встроенный инструмент для резервного копирования и восстановления FreeIPA
  8. Примеры работы с Gitlab CI/CD — написание конвейеров для автоматизации разработки
  9. Как создавать резервную копию Nextcloud и восстанавливать ее
  10. Создание виртуальной машины Proxmox с существующим диском

Примеры скриптов:

  1. Создание резервных копий для файлового сервера bash-скриптом


Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

Cassandra   Ping   NTP   Nextcloud   DNS   Операционная система   Exchange Server   CPanel   BalenaOS     Winsock   Potree   OEM   ЭЦП   FreeIPA   Corosync   DirectX   Flussonic Media Server   IIS   Podman  
.....

Реклама