rsync
100%

Совместное использование сети · Урок 2

rsync

Узнайте, как предварительно просматривать, выполнять и проверять безопасную локальную или SSH-синхронизацию каталогов с помощью rsync.

rsync согласует файлы и деревья каталогов, не передавая без необходимости неизменившиеся данные. Эффективность не делает любой запуск безопасным: результат определяют синтаксис источника, завершающие косые черты, метаданные, исключения и политика удаления.

Чтение источника и назначения

Локально синхронизируйте содержимое source/ с destination/:

$ rsync -a -- source/ destination/

Завершающая косая черта в source/ означает «копировать содержимое этого каталога». Без неё команда rsync -a source destination/ создаёт или обновляет destination/source. При изменении положения косой черты всегда предварительно проверяйте результирующие пути.

Что означает завершающая косая черта в rsync -a source/ destination/?

Архивный режим

Архивный режим -a равнозначен набору параметров рекурсивного обхода и сохранения метаданных, который обычно записывают как -rlptgoD. Он сохраняет символические ссылки, права, время изменения, группы, владельцев, устройства и специальные файлы, если это позволяют права и платформа.

Архивный режим сам по себе не сохраняет жёсткие ссылки, ACL и расширенные атрибуты; для них обычно нужны -H, -A и -X. Он также не создаёт исторические версии автоматически.

Какие метаданные не входят в -a сами по себе?

Предварительный просмотр передачи

Перед значимой синхронизацией выполните пробный запуск с подробным списком изменений:

$ rsync -a --dry-run --itemize-changes -- source/ destination/

Пробный запуск прогнозирует действия по результатам текущего сканирования, но не гарантирует, что файлы не изменятся до настоящей команды. Сохраните и проверьте точную команду, а затем запускайте её без --dry-run только после подтверждения обеих конечных точек.

Что предоставляет сочетание --dry-run --itemize-changes?

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

Отправляйте данные на удалённый хост или получайте их оттуда с помощью знакомого удалённого операнда:

$ rsync -a -- source/ alice@example.net:/srv/data/
$ rsync -a -- alice@example.net:/srv/data/ destination/

Современный rsync обычно использует SSH для такой формы, но проверьте настроенную удалённую оболочку, ключ хоста, права учётной записи и наличие rsync на удалённой стороне. Сжатие через -z может помочь для сжимаемых данных в ограниченном канале, но способно напрасно расходовать процессорное время на уже сжатые данные.

Какой порядок операндов получает удалённые данные в локальный каталог?

Удаление как разрушительное действие

--delete удаляет в области синхронизации те записи назначения, которых нет в источнике. Поэтому перепутанные конечные точки, неверная косая черта или ошибочное исключение могут стереть действительные данные. Выполняйте предварительную проверку на тестовом назначении, обеспечьте восстанавливаемые резервные копии, проверьте подключение файловой системы и рассмотрите ограничение максимального числа удалений до разрешения операции.

После настоящего запуска проверьте код завершения и журналы, сравните ожидаемое число файлов и метаданные, протестируйте характерные данные или восстановление. Сама по себе синхронизация rsync зеркалирует нежелательное удаление или повреждение и не является полноценной стратегией резервного копирования.

Что может сделать --delete во время синхронизации?

Урок завершён

Вы завершили rsync

Теперь вы можете предварительно просматривать и проверять операцию rsync, не упуская её разрушительных пограничных случаев.

  • Используйте завершающие косые черты, чтобы выразить требуемую структуру каталогов.

  • При необходимости добавляйте параметры метаданных, не входящие в архивный режим.

  • До настоящей синхронизации проверяйте детализированный вывод пробного запуска.

  • Проверяйте подлинность SSH и направление конечных точек.

  • Рассматривайте удаление и хранение резервных версий как явные политики.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Совместное использование сети