🟢 Главный плюс: передаются только изменившиеся части файлов, а не целиком. Это экономит трафик и время.
💬 Как работает
— Разбивает файлы на блоки фиксированного размера.
— Вычисляет контрольные суммы (rolling checksum + хэш).
— Сравнивает блоки источника и назначения.
— Передаёт только отличающиеся блоки.
— Работает локально, через SSH или собственный rsync-демон.
💬 Базовый синтаксис
rsync [параметры] источник назначение
💬 Основные параметры
—
-a — архивный режим: сохраняет права, симлинки, таймстампы, рекурсивность. Почти всегда нужен.—
-v — подробный вывод (verbose): показывает, какие файлы копируются.—
-z — сжатие при передаче (полезно по медленным каналам).—
-h — человеко-читаемые размеры (K, M, G).—
-P — комбинация --partial (докачка) и --progress (прогресс-бар).—
--delete — удаляет файлы в назначении, которых нет в источнике. Делает синхронизацию зеркалом.—
-n / --dry-run — тестовый прогон: показывает, что будет сделано, без реальных изменений.—
--exclude — исключает файлы/папки по шаблону (можно несколько).—
-e — указывает удалённую оболочку, например -e ssh.💬 Примеры
Локальное копирование папки
rsync -avh /home/user/data/ /backup/data/
Отправка на удалённый сервер (push)
rsync -avz -e ssh /local/folder/ user@server:/remote/folder/
Загрузка с сервера (pull)
rsync -avz -e ssh user@server:/remote/folder/ /local/folder/
Тестовый прогон зеркалирование с удалением лишнего
rsync -avn --delete /source/ /dest/
Rsync — незаменимый инструмент в арсенале любого администратора. Быстрый, надёжный, работает везде, где есть Linux (и не только).
#линуксятина
