Команда rsync в Linux Bash¶
Команда rsync используется для эффективной синхронизации и копирования файлов и каталогов как локально, так и по сети. Она оптимизирует передачу данных, копируя только изменённые части файлов.
Основной синтаксис¶
rsync [опции] <источник> <назначение>
Примеры:
rsync file.txt /backup/
rsync -avz user@remote:/var/www /local/backup/
Ключевые опции¶
Опция |
Описание |
|---|---|
|
Архивный режим (сохраняет структуру, права, владельцев и симлинки). |
|
Подробный вывод. |
|
Сжатие данных при передаче. |
|
Показывает прогресс и позволяет продолжить прерванную передачу. |
|
Удаляет на стороне назначения файлы, отсутствующие в источнике. |
|
Тестовый запуск без копирования. |
Примеры использования¶
Копирование файла на другой каталог:
rsync file.txt /home/user/backup/
Рекурсивное копирование папки:
rsync -av my_project/ /mnt/usb/
Синхронизация с удалённым сервером:
rsync -avz user@server:/etc/nginx/ /backup/nginx/
Удаление лишнего с назначения:
rsync -av --delete source/ destination/
Проверка без выполнения:
rsync -av --dry-run source/ destination/
Советы¶
Используйте
--progressдля отображения хода копирования.rsyncидеален для резервного копирования и обновления больших каталогов.Можно использовать с cron для автоматизации задач.
Note
Команда rsync копирует только изменённые файлы, что значительно экономит время и трафик.
Warning
Будьте осторожны с --delete — убедитесь, что источник и путь назначения указаны верно.