Программы
Как использовать Rsync – утилиту для синхронизации файлов

Как использовать Rsync – утилиту для синхронизации файлов

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

Rsync – это Unix утилита для синхронизации файлов и директорий. Если есть два места, где лежат файлы – rsync оптимально выполнит их синхронизацию – при необходимости используется кодирование с сжатие данных.

В отличии от многих других средств синхронизации файлов, rsync работает в одном tcp-потоке на каждое направление, а не создаёт новое при каждом файле (что замедляет выполнение). Rsync может рекурсивно зеркалировать директории, используя сжатие для ещё более быстрой передачи данных.

Базовый пример использования:

rsync -avz ./src ./dest

– синхронизировать файлы из директории ./src в директорию ./dest архивируя со сжатием и подробным выводом о синхронизируемых файлах.

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS

Опции передачи файлов 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. И представьте, работало это ни разу не хуже! Так что если нужно позаботиться о репликации библиотеки статических файлов – вы знаете, чем воспользоваться!