Основные опции
Скомбинируйте различные опции команды `rsync`, чтобы настроить задачи синхронизации и резервного копирования файлов.
1. Основная синхронизация
2. Режимы передачи и опции
Сгенерированная команда:
Комбинируйте команды.
Описание:
`rsync` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Принцип работы rsync
`rsync` использует алгоритм 'дельта кодирования' для передачи только измененных частей файла, эффективно используя сетевую пропускную способность. Это делает синхронизацию больших файлов или множества файлов очень быстрой и эффективной.
Основные особенности rsync
Ключевые функции, которые отличают `rsync` от других инструментов копирования.
- Дельта передача (Delta Transfer): Идентифицирует только различия между исходным и целевым файлами для передачи. Вместо того чтобы копировать весь файл заново, передает только измененные блоки для повышения эффективности.
- Инкрементное резервное копирование (Incremental Backup): Копирует только измененные файлы с момента последней резервной копии, что экономит время и пространство, так как нет необходимости выполнять полную резервную копию каждый раз.
- Удаленная синхронизация: Позволяет передавать файлы через зашифрованные каналы с помощью различных удаленных оболочек, включая SSH, что обеспечивает высокую безопасность.
- Сохранение свойств файлов: Используя режим архива (`-a`), сохраняет все свойства файлов, такие как права, владельцы, группы, временные метки и символические ссылки.
Важность последнего слеша в пути (Trailing Slash)
`rsync` очень важно, добавлять слеш (`/`) в конце пути источника. - `source/`: Копирует **содержимое** каталога `source`. (например: похоже на `cp source/* dest/`) - `source`: Копирует **сам каталог** `source`. (например: похоже на `cp -r source dest/`) Непонимание этой разницы может привести к неожиданным результатам.
Примеры использования
Изучите практические примеры использования команды `rsync`, чтобы разработать стратегии синхронизации и резервного копирования файлов.
Синхронизация локального каталога (Режим архива)
rsync -av /path/to/source_dir/ /path/to/destination_dir/
Синхронизирует содержимое `source_dir` с `destination_dir`. Сохраняет все свойства, такие как права, время и т.д. Файлы, отсутствующие в `source_dir`, не удаляются из `destination_dir`.
Зеркалирование каталога на удаленном сервере (Резервное копирование)
rsync -avz --delete --progress /local/my_data/ user@remote_host:/remote/backup/
Зеркалирует содержимое локального каталога `my_data` в каталог `/backup/` на удаленном сервере. Файлы, отсутствующие в оригинале, также удаляются на месте назначения. Использует сжатие и показывает прогресс.
Получение только определенных файлов с удаленного сервера
rsync -avz --include='*.log' --exclude='*' user@remote_host:/var/log/ /tmp/logs/
Получает только файлы `.log` из каталога `/var/log/` на удаленном сервере в локальный каталог `/tmp/logs/`.
Предварительный просмотр изменений без фактического выполнения
rsync -avz --delete --dry-run /path/to/source/ /path/to/destination/
Не передает и не удаляет файлы, а показывает, какие изменения произойдут. Рекомендуется всегда использовать перед важной синхронизацией.
Синхронизация с использованием другого порта SSH
rsync -avz -e "ssh -p 2222" /local/src/ user@remote_host:/remote/dest/
Синхронизирует файлы с удаленным сервером, используя порт 2222 вместо стандартного порта SSH (22).