Установка RSYNC

Инструкция по установке и настройке Remote Synchronization (RSYNC) для синхронизации данных

rsync (Remote Synchronization) — кроссплатформенное консольное приложение для синхронизации данных с минимальным расходом трафика. Оно широко применяется для резервного копирования, миграции и зеркалирования данных между серверами.

Например, с помощью rsync можно переносить проекты с виртуального хостинга на VPS, синхронизировать каталоги между несколькими выделенными серверами, поддерживать актуальные копии файлов внутри инфраструктуры.


Установка rsync

Для CentOS:

yum -y install rsync

Для Debian/Ubuntu:

sudo aptitude install rsync

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

Локальная синхронизация

sudo rsync -avh --delete /var/www/ /root/backup/www/

Эта команда синхронизирует содержимое каталога /var/www/ с /root/backup/www/, удаляя файлы, которых больше нет в источнике.


Синхронизация на удалённый сервер

sudo rsync -avh --delete /var/www/ root@192.168.1.50:/root/backup/www/

Файлы будут скопированы на другой сервер по SSH.

Примечание

Для выполнения синхронизации rsync должен быть установлен на обоих серверах


Синхронизация с удалённого сервера на локальный

sudo rsync -avh root@192.168.1.50:/var/www/ /root/backup/www/

Синхронизация через SSH с нестандартным портом

sudo rsync -avh -e "ssh -p 1111" root@192.168.1.50:/var/www/ /root/backup/www/

Исключение каталогов

sudo rsync -avh --exclude='dir/' --exclude='dir/tmp/' /var/www/ /root/backup/www/

Позволяет исключить ненужные поддиректории при синхронизации.


Перенос файлов с удалённого сервера (с удалением источника)

sudo rsync -avh --remove-source-files root@192.168.1.50:/var/www/ /var/www/

Копирование базы данных MySQL на другой диск

rsync -vrplogDtH --progress /var/lib/mysql/ /newhdd/var/lib/mysql/

Полезные параметры rsync

  • -v — подробный режим (verbose)
  • -r — рекурсивное копирование (recursive)
  • -a — режим архивирования (сохраняет права, симлинки и структуру)
  • -b — создание резервных копий (backup)
  • -c — проверка по контрольным суммам (checksum)
  • --delete — удаление файлов, отсутствующих в источнике
  • -h — человекочитаемый вывод (human-readable)
  • -n — тестовый запуск без изменений (dry-run)
  • -p — сохранение прав (permissions)
  • -z — сжатие данных при передаче (compress)
  • -H — сохранение жёстких ссылок (hard links)
  • -x — не выходить за пределы файловой системы (one-file-system)

Полный список доступен в справке:

man rsync
Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам