Rsync – это Unix утилита для синхронизации файлов и директорий. Если есть два места, где лежат файлы – rsync оптимально выполнит их синхронизацию – при необходимости используется кодирование с сжатие данных.
В отличии от многих других средств синхронизации файлов, rsync работает в одном tcp-потоке на каждое направление, а не создаёт новое при каждом файле (что замедляет выполнение). Rsync может рекурсивно зеркалировать директории, используя сжатие для ещё более быстрой передачи данных.
Базовый пример использования:
rsync -avz ./src ./dest
– синхронизировать файлы из директории ./src
в директорию ./dest
архивируя со сжатием и подробным выводом о синхронизируемых файлах.
Опции передачи файлов rsync
-z, --compress # Использовать сжатие при передаче
-n, --dry-run # Без реального копирования – полезно для проверки
Опции вывода rsync
-q, --quiet # Без вывода "лишней" информации
-v, --verbose # Подробный режим вывода. Показывать каждый файл
-h, --human-readable # Человеко-читаемый режим
--progress # Выводить информацию о процессе передачи файлов
Пропускаем ненужные файлы в rsync
-u, --update # пропустить обновлённые файлы
-c, --checksum # пропускать файлы с неизменившимся содержимым
Опции бекапов в rsync
-b, --backup # бекапить с суффиком
--suffix=SUFFIX # по умолчанию ~ без --backup-dir
--backup-dir=DIR
Опции выбора файлов
--exclude=PATTERN # Исключить файлы по шаблону
--include=PATTERN # Подключить файлы по шаблону
--exclude-from=FILE
--include-from=FILE
--files-from=FILE # прочитать имена файлов из FILE
Опции архивации в Rsync
-a, --archive # Архивировать (-rlptgoD)
-r, --recursive # Рекурсивно
-l, --links # Копировать символьне ссылки как ссылки
-p, --perms # Предустановленные права доступа
-t, --times # Предустановленное время
-g, --group # Группа владельцев
-o, --owner # Владелец
-D # --devices --specials
--delete # Удалять дополнительные файлы
Rsync – хорошо отлаженная и мощная утилита для синхронизации файлов. Она очень полезна, когда дело доходит до автоматической синхронизации. Да даже когда нужно скопировать кучу файлов – и то rsync прекрасное средство!
Ни раз видел, как вместо навороченных backup систем бородатые админы просто добавляли команду rsync в cron. И представьте, работало это ни разу не хуже! Так что если нужно позаботиться о репликации библиотеки статических файлов – вы знаете, чем воспользоваться!