Rsync-(Remote-Sync)-10-Practical-Examples-of-Rsync-Command-in-Linux

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

Рубрики:

Linux, rsync

Метки:

, , ,

Rsync (Remote Sync) — это наиболее часто используемая команда для удаленного и локального копирования и синхронизации файлов и каталогов в системах Linux/Unix. С помощью команды rsync вы можете удаленно и локально копировать и синхронизировать данные между каталогами, дисками и сетевыми хранилищами, выполнять резервное копирование данных и зеркалирование между двумя компьютерами Linux.

В этой статье описывается 10 основных и дополнительных возможностей использования команды rsync для удаленной и локальной передачи файлов на компьютерах под управлением Linux. Вам не нужно быть root-пользователем для запуска команды rsync.

 

Некоторые преимущества и особенности команды Rsync:
  • Она эффективно копирует и синхронизирует файлы в/или из удаленной системы.
  • Поддерживает копирование ссылок, устройств, владельцев, групп и разрешений.
  • Это быстрее, чем использование команды scp (Secure Copy), потому что rsync использует протокол удаленного обновления, который позволяет передавать только различия между двумя наборами файлов. В первый раз он копирует все содержимое файла или каталога из источника в место назначения, но со следующего раза он копирует только измененные блоки и байты в место назначения.
  • Remote Sync потребляет меньшую пропускную способность, поскольку использует метод сжатия и распаковки.

 

Базовый синтаксис команды rsync

 

Некоторые общие параметры, используемые с командами rsync:
  • -v: подробный вывод.
  • -r: рекурсивно копирует данные (но не сохраняет временные метки и разрешения при передаче данных).
  • -a: режим архива, позволяет рекурсивно копировать файлы, а также сохраняет символические ссылки, права доступа к файлам, права владения пользователей и групп и временные метки.
  • -z: сжатие данных файла.
  • -h: human-readable, информация на выводе в формате, удобном для чтения.

 

Установка rsync на вашем устройстве с Linux

Мы можем установить пакет Remote Sync с помощью следующей команды:

 

1. Копирование/синхронизация файлов и локальный каталог

Копирование/синхронизация файлов на локальном компьютере

Следующая команда синхронизирует файл на локальном компьютере из одного места в другое. В этом примере, имя файла backup.tar необходимо скопировать или синхронизировать в папку /tmp/backups/:

 

rsync

Если место назначения еще не существует, rsync автоматически его создаст.

 

Копирование/синхронизация каталога на локальном компьютере

Следующая команда перенесет или синхронизирует все файлы из одного каталога в другой на одном компьютере. В этом примере, в папке /etc/firefox находятся некоторые файлы, и мы хотим, чтобы этот каталог был скопирован в папку /tmp/backups/:

 

rsync

 

2. Копирование/синхронизация файлов и каталога на сервер или с сервера

Копирование каталога с локального сервера на удаленный сервер

Эта команда синхронизирует каталог с локального компьютера на удаленный компьютер. Например: на вашем локальном компьютере есть папка «firefox», которая содержит файлы, и вы хотите, чтобы содержимое этого локального каталога отправлялось на удаленный сервер, вы можете использовать следующую команду:

 

 

Копирование/синхронизация удаленного каталога на локальный компьютер

Эта команда поможет вам синхронизировать удаленный каталог с локальным каталогом. В этом примере каталог /home/tarunika/rpmpkgs, который находится на удаленном сервере, копируется на ваш локальный компьютер по пути /tmp/myrpms:

 

 

3. Rsync с SSH

Вместе с Remote Sync мы можем использовать SSH (Secure Shell) для передачи данных. Используя протокол SSH при передаче наших данных, вы можете быть уверены, что ваши данные передаются в защищенном соединении с шифрованием, чтобы никто не мог прочитать их во время передачи в интернете.

Также, когда мы используем rsync, нам нужно предоставить пароль user/root для выполнения этой конкретной задачи. При использовании опции SSH ваши логины будут отправляться в зашифрованном виде, чтобы ваш пароль был в безопасности.

 

Копирование файла с удаленного сервера на локальный сервер с SSH

Чтобы указать протокол с помощью rsync, вам нужно указать параметр «-e» с названием протокола, который вы хотите использовать. В этом примере, мы будем использовать «ssh» с опцией «-e» и выполнять передачу данных:

 

 

Копирование файла с локального сервера на удаленный сервер с SSH:

 

 

4. Отображение прогресса при передаче данных с rsync

Чтобы показать прогресс при переносе данных с одного компьютера на другой, мы можем использовать для него параметр «-progress». Он отображает файлы и время, оставшееся до завершения передачи:

 

 

5. Использование опций –include и –exclude

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

В этом примере, команда Remote Sync будет включать только те файлы и каталог, которые начинаются с «R» и исключают все другие файлы и каталог:

 

 

6. Использование опции –delete

Если файл или каталог не существует в источнике, но уже существует в месте назначения, вы можете удалить этот существующий файл/каталог в месте назначения во время синхронизации.

Мы можем использовать опцию «-delete» для удаления файлов, которых нет в исходной директории.

Источник и место назначения синхронизированы. Теперь создаем новый файл test.txt в место назначения:

 

 

В месте назначения появился новый файл с именем test.txt, при синхронизации с источником с параметром «-delete» он удалил файл test.txt.

 

 

7. Установка максимального размера файлов для передачи

Вы можете указать максимальный размер файла для передачи или синхронизации. Вы можете сделать это с опцией «–max-size». В этом примере максимальный размер файла составляет 200 КБ, поэтому эта команда будет передавать только те файлы, которые равны или меньше 200 КБ.

 

 

8. Автоматическое удаление исходных файлов после успешной передачи

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

Итак, вы будете ждать завершения передачи, а затем вручную удалите этот локальный файл резервной копии? Конечно же нет. Это автоматическое удаление может быть выполнено с помощью опции «-remove-source-files«:

 

 

9. Пробный запуск с rsync

Если вы новичок, используете Remote Sync и не знаете, что именно делает ваша команда, rsync действительно может «испортить» файлы в вашей папке назначения. И тогда восстановление может быть очень утомительной работой.

Использование этой опции не вносит никаких изменений, только делает пробный запуск команды и показывает результат команды, если выходные данные показывают точно то же, что вы хотите сделать, то вы можете удалить опцию «–dry-run» из вашей команды и запустить на терминале:

 

 

10. Установка ограничения полосы пропускания и файла передачи

Вы можете установить ограничения полосы пропускания при передаче данных с одного компьютера на другой с помощью опции «–bwlimit«. Эта опция позволяет нам ограничить I/O пропускную способность:

 

 

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

 

 

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

 

 

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

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

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

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии 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

Метки:

, , ,

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

5 комментариев. Оставить новый

  • Я недавно мозг сломал, пытаясь понять, почему не работает… каталог не находит, модули какие-то ругает, не авторизуется… напрочь забыл потому что об одной важной вещи, которая и у вас тут вообще никак не промелькнула:
    НА СТОРОНЕ СЕРВЕРА В rsyncd.conf ЧТО ПРОПИСАНО?

    Ответить
  • может кто сталкивался, не пользуюсь этой утилитой в принципе, но однажды заметил что она загружает жесткий диск и постоянно что-то читает-пишет. Запускается через минут 20-30 после запуска системы. В автозагрузке его нет, никакой синхронизации или резервных копий с его помощью не делаю. Просто хочу понять почему он запускается и что делает.

    Ответить

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

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

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


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