Как использовать утилиту rsync в Linux

Как использовать утилиту rsync в Linux

Рубрики:

Linux, rsync

Метки:

,

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

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

Содержание:

  1. Синтаксис команды rsync
  2. Как отправить и синхронизировать файлы на локальной машине
  3. Как отправить и синхронизировать файлы с локальной на удаленную машину
  4. Выводы

Синтаксис команды rsync

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

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

 

Где:

  • [options] — опции, которые можно применить с rsync;
  • SOURCE — путь к исходному каталогу или каталогу, содержимое которого будет скопировано;
  • DESTINATION — путь к директории, в которую будет отправлено содержимое исходного каталога или файл;

Для удаленной передачи информации:

 

Где:

  • [options] — опции, которые можно применить с rsync;
  • SOURCE — путь к исходному каталогу или файлу, содержимое которого будет скопировано;
  • <username> — имя пользователя, которое будет использовано для доступа к удаленному узлу;
  • <remote_host> — название хоста или IP-адрес удаленной машины;
  • DESTINATION — путь к директории на удаленном компьютере, в которую будет отправлено содержимое исходного каталога или файл;

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

Итак, сперва мы покажем применение команды rsync для передачи данных на локальном компьютере. Будем брать файлы из каталога Downloads и отправлять в папку Documents.

Выполним команду ls, чтобы узнать, какие файлы хранятся в Downloads:

 

ls-downloads

Читайте также: Rsync (Remote Sync): 10 практических примеров использования команды Rsync в Linux.

На скриншоте видно, что у нас есть файлы file.txt, qwerty.txt, sedicomm.txt и zxcv.txt. Сначала мы отправим в каталог Documents файл с названием qwerty.txt. Для этого выполним следующую команду:

 

rsync-av-1

В этой команде мы использовали пару опций:

  • -a — сохраняет права доступа к файлу, владельца и временные метки;
  • -v — отображает подробную информацию о процессе синхронизации.

Теперь передадим оставшуюся часть файлов из Downloads. Для этого мы не будем перечислять каждый из них отдельно, а просто укажем путь к данному каталогу. Все из-за того, что rsync просто пропустит файл qwerty.txt потому, что он уже был отправлен и после не был изменен. К примеру:

 

rsync-auv

К этой команде мы добавили новую опцию — -u. Она заставляет rsync пропустить все файлы в целевом каталоге, время изменения которых новее, чем у исходных файлов.

Как показано на скриншоте, команда передала в Documents только файлы file.txtsedicomm.txt и zxcv.txt.

Как отправить и синхронизировать файлы с локальной на удаленную машину

Прежде чем передавать файлы на удаленную машину, нужно убедиться, что выполняются следующие требования:

  • оба хоста имеют подключение к Интернету;
  • на обоих компьютерах включена служба ssh (утилита rsync использует протокол SSH);
  • оба компьютера подключены к одной сети.

Мы выполнили все эти условия и готовы отправлять файл с локального хоста на удаленный. Будем действовать по тому же принципу: сначала отправим qwerty.txt, а потом — одновременно file.txtsedicomm.txt и zxcv.txt из директории Downloads.

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

 

to-remote-qwerty
Читайте также: Как синхронизировать два веб-сервера Apache с помощью Rsync.

Стоит описать некоторые элементы этой команды:

  1. --ignore-existing — опция, которая указывает rsync на необходимость пропускать копирование файлов, уже существующих в каталоге назначения. Это гарантирует, что будут переданы только новые или измененные файлы.
  2. -a — параметр, который сохраняет права доступа к файлу, владельца и временные метки.
  3. -v — опция, которая отображает подробную информацию о процессе синхронизации.
  4. [email protected]:Downloads/ — путь назначения к каталогу на удаленном компьютере, где:
    • user — имя пользователя, который имеет доступ к удаленному хосту;
    • 192.168.59.131 — IP-адрес удаленного узла;
    • Downloads — каталог назначения.

Теперь нам осталось отправить оставшиеся три файла. Сделаем это с помощью команды:

 

to-remote-rest

Выводы

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

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, rsync

Метки:

,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики

Свежие комментарии

Меню