rsync - резервное копирование и синхронизация файлов и папок - UnixHost Blog

rsync - резервное копирование и синхронизация файлов и папок - UnixHost Blog

Rsync — мощный инструмент облегчающий рутинную операцию создания резервных копий либо синхронизацию файлов и папок.

Важно отметить, что передача файлов выполняется в один поток, в отличие от других подобных программ, создающих отдельный поток для передачи каждого файла. Данная опция увеличивает скорость передачи и уменьшает задержки при передачи небольших файлов.

Синтаксис rsync выглядит следующим образом

В качестве источника и приемника может выступать удаленная или локальная директория.

-v — Выводить подробную информацию о процессе копирования;

-q — Минимум информации;

-c — Проверка контрольных сумм для файлов;

-a — Режим архивирования, когда сохраняются все атрибуты оригинальных файлов;

-R — Относительные пути;

-b — Создание резервной копии;

-u — Не перезаписывать более новые файлы;

-l — Копировать символьные ссылки;

-L — Копировать содержимое ссылок;

-H — Копировать жесткие ссылки;

-p — Сохранять права для файлов;

-g — Сохранять группу;

-t — Сохранять время модификации;

-x — Работать только в этой файловой системе;

-e — Использовать другой транспорт, например, ssh;

-z — Сжимать файлы перед передачей;

—delete — Удалять файлы которых нет в источнике;

—exclude — Исключить файлы по шаблону;

—recursive — Перебирать директории рекурсивно;

—no-recursive — Отключить рекурсию;

—progress — Выводить прогресс передачи файла;

—stat — Показать статистику передачи;

—version — Версия утилиты.

Пример синхронизации rsync

Рассмотрим пример синхронизации локальных файлов и папок

Данная команда копирует файл с именем file в папку /backups/

Если добавить опцию —progress вы сможете увидеть прогресс копирование и сколько времени осталось до завершения операции копирования.

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

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

Обратная синхронизация файлов.

Синхронизация не всех файлов и папок

Опции include и exclude позволяют указать какие файлы нужно синхронизировать, а какие исключить. Опции работают не только с файлами но и с директориями. В примере выше указано, как скопировать только те файлы которые начинаются на букву G.

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

Recommended articles