Как использовать Rsync в Linux? | Инструкция Lincore
Специальное предложение - скидка 20% на аренду vGPU и Elastic Cloud KVM!

Специальное предложение для тех кто закажет до 31 декабря 2025 г. сервис GPU и виртуальные машины на базе KVM будет действовать скидка на аренду в 20% на весь 2026 г.

Для получения скидки, а также бесплатного тестирования услуг вышлите запрос на адрес sales@lincore.kz в шапке письма укажите "скидка 2025" 

phone dark
support@lincore.kz техническая поддержка

Как использовать Rsync в Linux?

26 сентября 2019 Просмотров 152

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

Что такое Rsync?

Rsync -  это remote sync или удаленная синхронизация, является средством удаленной и локальной синхронизации файлов. Он использует алгоритм, который минимизирует объем копируемых данных, перемещая только те части файлов, которые были изменены.

Утилита в основном используется для синхронизации деревьев веб-сайтов от промежуточных до рабочих серверов, а также может использоваться для резервного копирования ключевых областей файловых систем через cron. Rsync помогает легко передавать большие объемы данных, обеспечивая сверхбыстрое и эффективное резервное копирование.

Основной синтаксис

 

Синтаксис утилиты rsync очень прост и похож на ssh, scp и cp.

 

 

Для создания тестовых директорий и файлов с помощью выполните следующие команды:

cd ~
mkdir directory1
mkdir directory2
touch directory1/file{1..50}

 

 

В результате в каталоге directory1 появятся 50 пустых файлов. Для просмотра можно выполнить команду:
ls directory1

 

 

Для синхронизиронизаци каталогов directory1 и directory2 на одной операционной системе, введите:
rsync -r directory1/ directory2

 

 

Ключ -r обеспечивает рекурсивную синхронизацию каталогов.

Вместо опции -r чаще всего на практике используют опцию -a. Опция позволяет выполнять рекурсивную синхронизацию, сохраняет символические ссылки, специальные файлы и файлы устройств, время модификации, группу, владельца и права.

Синхронизация удаленной системы

 

 

Синхронизация с удаленным каталогом выполняется по аналогии с синхронизацией локальных каталогов. Используйте команду в следующем формате:
rsync -a ~/directory1 username@remote_host:destination_directory

 

 

В терминах git данную операцию можно назвать push. Операцию аналогичную pull также можно выполнить:
rsync -a username@remote_host:/home/username/directory directory1

Полезные опции

 

Rsync предоставляет множество опций для изменения поведения утилиты по умолчанию.

 

Если вы передаете файлы, которые еще не были сжаты, например, текстовые файлы, то включить сжатие можно с помощью опции -z:

rsync -az source destination

 

 

Для отображения процесса синхронизации можно использовать флаг -P:
rsync -azP source destination

 

 

Вывод в консоль будет выглядеть примерно следующим образом:

sending incremental file list

    file1

               0 100%    0.00kB/s   0:00:00 (xfer#1, to-check=99/101)

    file10

               0 100%    0.00kB/s   0:00:00 (xfer#2, to-check=98/101)

    file2
               0 100%    0.00kB/s   0:00:00 (xfer#3, to-check=87/101)

…
Предыдущий пост Добавление правила в Windows Firewall (Брандмауэр Windows)
Следующий пост Утилита PS в Linux для вывода процессов на экран

Остались вопросы?

Задайте их нашему эксперту и получите квалифицированную консультацию

Оставить заявку