EN EN

112 | Rsync — эффективная синхронизация файлов

Опубликовано 29.09.2025


Rsync — эффективная синхронизация файлов

Введение

В предыдущих статьях мы рассмотрели различные протоколы передачи файлов — от классических FTP и SFTP до современных решений вроде S3 и WebDAV.
Теперь обратим внимание на Rsync — мощный инструмент и протокол, который выделяется своей эффективностью при синхронизации файлов и каталогов.

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


Что такое Rsync?

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

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

  • Обычно Rsync работает поверх SSH для безопасности.
  • Но может использовать и собственный протокол на порту 873.

Как работает Rsync?

Rsync сравнивает файлы на источнике и получателе, используя контрольные суммы (checksums), чтобы определить, какие блоки изменились.
Передаются только обновлённые части файлов.

Основные примеры команд

Синхронизация локальных файлов

rsync -av /source/path/ /destination/path/

Флаг -a (archive) сохраняет права доступа, метки времени и структуру, -v (verbose) — подробный вывод.

Синхронизация через SSH

rsync -av -e ssh /source/path/ user@remote:/destination/path/

Удаление лишних файлов на получателе

rsync -av --delete /source/path/ /destination/path/

Дополнительно: -z для сжатия, --exclude для исключения файлов, инкрементные бэкапы с сохранением версий.


Преимущества Rsync

  • Эффективность: передаются только изменённые данные.
  • Гибкость: локальная и удалённая синхронизация, поддержка любых типов файлов.
  • Безопасность: интеграция с SSH.
  • Кроссплатформенность: Linux, macOS, Windows (через WSL или Cygwin).
  • Автоматизация: легко встраивается в скрипты и cron-задания.

Недостатки Rsync

  • Сложность для новичков: множество опций могут запутать.
  • Не для real-time: не подходит для потоковой или мгновенной синхронизации.
  • SSH-зависимость: для удалённых задач нужен настроенный SSH-доступ.

Где используется Rsync?

  • Резервное копирование: инкрементные бэкапы серверов и рабочих станций.
  • Синхронизация серверов: обновление данных между продакшеном и тестом.
  • Развёртывание приложений: передача обновлений на веб-серверы.
  • Личные проекты: синхронизация между ПК и облаком.

Примеры ПО на базе Rsync

  • Rsync (CLI): встроен в Linux и macOS.

    rsync -avz --progress /home/user/docs/ backup@server:/backups/
    
  • Grsync: графическая оболочка для Linux.

  • Duplicati: кроссплатформенный инструмент резервного копирования с поддержкой шифрования и облаков.

  • Rclone: альтернатива для облачных хранилищ, с функционалом, похожим на Rsync.


Вывод

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

Он незаменим для системных администраторов, разработчиков и всех, кто автоматизирует бэкапы и синхронизацию данных. Да, Rsync требует изучения, но его возможности делают его настоящим «must-have» в арсенале IT-специалиста.


Ресурсы

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Похожие посты