Осваиваем команду rsync в Linux: полное руководство

Введение

команда 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/

Это гарантирует, что вы сможете просмотреть изменения перед их применением и предотвратить случайную потерю данных.


Справочные материалы

Подробнее см. в официальной документации:

Оставить комментарий