Утилита rsync#

Описание#

Утилита rsync используется для локальной и удаленной синхронизации файлов/каталогов.

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

rsync копирует файлы либо на удаленный хост, либо с него, либо локально на текущем хосте; не поддерживает копирование файлов между двумя удаленными хостами.

Синтаксис утилиты:

rsync <options> <SRC> <DEST>

Где:

  • <options> - опции;

  • <SRC> - источник;

  • <DEST> - назначение.

При использовании аргумента SRC и отсутствии DEST исходные файлы будут только перечислены, а не скопированы.

Опции#

Часто используемые опции утилиты представлены в таблице ниже.

Опции rsync#

Опция

Описание

--verbose, -v

Расширенная информация о работе утилиты

--archive, -a

Архивирование - рекурсивное копирование и сохранение иерархии каталогов, символических ссылок, прав доступа, владельца и времени модификации

--backup, -b

Резервное копирование, существующие файлы назначения переименовываются по мере передачи или удаления каждого файла

--hard-links, -H

Поиск файлов с жесткими ссылками в исходном коде и связывание соответствующих файлов в целевом коде; без этой опции файлы с жесткими ссылками в исходном коде обрабатываются как отдельные файлы

--perms, -p

Настройка разрешений для файлов назначения такими же, как у источников

--one-file-system, -x

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

--compress, -z

Сжатие данных файла по мере их отправки на машину назначения, сокращение объема передаваемых данных

--human-readable, -h

Вывод чисел в человекочитаемом формате

--partial

Сохранение частично переданных файлов в случае прерывания передачи

--progress

Вывод информации о ходе передачи данных

Примеры использования#

  • Для синхронизации каталогов с копированием измененных файлов из path_to_source в path_to_destination используйте команду:

    rsync path_to_source path_to_destination
    
  • Для синхронизации каталогов с копированием измененных файлов из path_to_source в path_to_destination с использованием режима архивирования используйте команду:

    rsync --archive path_to_source path_to_destination
    
  • Для синхронизации каталогов с копированием измененных файлов из path_to_source в path_to_destination со сжатием данных по мере их отправки по назначению, отображением подробного и удобочитаемого хода выполнения и сохранением частично переданные файлов в случае их прерывания используйте команду:

    rsync --compress --verbose --human-readable --partial --progress path_to_source path_to_destination
    

Дополнительная информация#

Дополнительную информацию можно получить, выполнив команду:

man rsync

Или:

rsync --help