Назад к вопросам
Junior
114
questionbank

Что делает команда 'rsync'?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

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

Ключевые возможности:

  • Инкрементное копирование: Копирует только те части файлов, которые были изменены с момента последнего копирования.
  • Удаленная синхронизация: Может копировать файлы между локальной и удаленной системами (по SSH или своему протоколу).
  • Сохранение атрибутов: По умолчанию сохраняет права доступа, владельцев, группы и временные метки файлов.
  • Поддержка символических ссылок: Умеет корректно обрабатывать символические ссылки.
  • Режим "зеркала": Опция --delete позволяет удалить файлы в целевой директории, которых нет в исходной, тем самым делая точную копию.
  • Сжатие: Опция -z включает сжатие данных во время передачи.

Основной синтаксис:

# Синхронизация локальной папки1 с локальной папкой2
rsync [опции] /путь/к/исходной/папке1 /путь/к/целевой/папке2

# Синхронизация локальной папки с удаленной
rsync [опции] /путь/к/исходной/папке user@удаленный_хост:/путь/к/целевой/папке

# Синхронизация удаленной папки с локальной
rsync [опции] user@удаленный_хост:/путь/к/исходной/папке /путь/к/целевой/папке

Примеры опций:

Опция Описание
-a Режим архивации (рекурсивно, сохраняет атрибуты).
-v Подробный вывод.
-z Сжатие во время передачи.
--delete Удалить файлы в целевой папке, отсутствующие в исходной.
-P Комбинация --partial и --progress (показывает прогресс).

Используется для резервного копирования, синхронизации данных между серверами, миграции файлов.