Введение
команда rsync — один из самых мощных и универсальных инструментов в Linux для синхронизации и передачи файлов и каталогов. Нужно ли вам создать резервную копию данных, зеркалировать файлы или передать данные между системами (локально или удалённо) — rsync является незаменимой утилитой для эффективного управления файлами.
В этом руководстве рассматриваются основы rsync, его синтаксис, распространённые сценарии использования и советы по максимально эффективному использованию его возможностей.
Что такое rsync?
Rsync (Remote Sync) — это утилита командной строки в Linux, предназначенная для:
- Эффективные передачи файлов: использует дельта-кодирование для передачи только изменённых частей файлов.
- Резервное копирование и синхронизация: идеально подходит для поддержания резервных копий и зеркалирования каталогов.
- Локальные и удалённые передачи: безупречно работает по SSH для безопасных удалённых операций.
Как пользоваться rsync
Базовый синтаксис
Общий синтаксис rsync таков:
rsync [options] source destination
Примеры использования
1. Копирование локального каталога на удалённый сервер
rsync -av /local/dir/ user@remote:/remote/dir/
Используемые параметры:
-a: режим архива (сохраняет символические ссылки, права доступа, временные метки и т. д.).-v: подробный вывод с детальной информацией во время передачи.
2. Синхронизация файлов с удалённого сервера на локальный компьютер
rsync -azP user@remote:/remote/dir/ /local/dir/
Используемые параметры:
-z: сжимает данные файлов во время передачи для большей скорости.-P: показывает ход передачи и позволяет возобновлять прерванные передачи.
3. Резервное копирование файлов с исключением определённых типов файлов
rsync -av --exclude='*.tmp' /source/dir/ /backup/dir/
Опция --exclude пропускает файлы, соответствующие указанному шаблону (например, файлы .tmp).
4. Удаление в месте назначения файлов, которых больше нет в источнике
rsync -av --delete /source/dir/ /destination/dir/
Предупреждение: всегда дважды проверяйте пути при использовании --delete чтобы избежать случайной потери данных.
Преимущества использования rsync
1. Эффективные передачи
Rsync передаёт только изменённые части файлов, экономя пропускную способность и время.
2. Универсальность
Безупречно обрабатывает локальные и удалённые передачи, что делает его идеальным для резервного копирования, миграции и синхронизации.
3. Надёжность
Поддерживает возобновляемые передачи файлов, благодаря чему прерванные операции можно возобновить, не начиная сначала.
4. Безопасность
Интегрируется с SSH для безопасной передачи данных по удалённым соединениям.
5. Настраиваемость
Предлагает широкие возможности для исключения файлов, установки ограничений пропускной способности и многого другого.
6. Кроссплатформенная совместимость
Работает в Linux, Unix и даже Windows (с помощью таких инструментов, как Cygwin или WSL).
Дополнительный совет: используйте режим пробного запуска!
Перед запуском потенциально разрушительной команды rsync (например, с параметром --delete), используйте флаг --dry-run чтобы смоделировать операцию:
rsync -av --delete --dry-run /source/dir/ /destination/dir/
Это гарантирует, что вы сможете просмотреть изменения перед их применением и предотвратить случайную потерю данных.
Справочные материалы
Подробнее см. в официальной документации: