Rsync Linux, или Команда Удалённой Синхронизации


 |  ❤ 9  |  ☻ 0
Категория: Обучение
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(0 голосов, в среднем: 0 из 5)

access_time
hourglass_empty

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

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

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

Основной синтаксис rsync работает следующим образом:

rsync [optional modifiers] [SRC] [DEST]

Существует несколько способов использования команды rsync Linux. В этом примере [optional modifiers] (необязательные модификаторы) указывают действия, которые необходимо предпринять, [SRC] является исходным каталогом, а [DEST] — это целевой каталог или машина.

Основной Синтаксис для Удалённой Оболочки

Если вы используете удалённую оболочку, такую как SSH или RSH, синтаксис rsync будет немного другим.

Для доступа к удалённой оболочке (PULL) используйте команду rsync:

rsync [optional modifiers] [USER@]HOST:SRC [DEST]

Для доступа к удалённой оболочке (PUSH) используйте команду rsync:

rsync [optional modifiers] SRC [USER@]HOST:[DEST]

Как Проверить Версию Rsync

Прежде чем мы проверим версию rsync, нам нужно зайти на сервер VPS, который мы будем использовать. Это полезное руководство поможет вам сделать это на машине с Windows, используя Putty SSH. Если вы работаете на компьютере с MacOS или Linux, используйте вместо этого терминал.

Читайте также:  Установка Docker: Как Установить и Настроить Docker в Ubuntu 18.04

Rsync предустановлен во многих дистрибутивах Linux. Чтобы проверить, установлен ли rsync на вашем компьютере, выполните следующую команду:

rsync -version

В нашем дистрибутиве Ubuntu, вот что мы увидим в выводе:

rsync version 3.1.2 protocol version 31

Это означает, что версия rsync 3.1.2 уже установлена на нашей машине. 

Установка Rsync

Если на вашем компьютере предварительно не установлен rsync, вы можете сделать это вручную за минуту! В дистрибутивах на основе Debian, таких как Ubuntu, вы можете сделать это с помощью следующей команды:

apt-get install rsync

Для дистрибутивов на основе rpm, таких как Fedora и CentOS, используйте следующую команду:

yum install rsync

Для MacOS используйте следующую команду:

brew install rsync

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

rsync -version

Работа с Rsync: Примеры

Для этого руководства мы создали два каталога на нашем рабочем столе Linux и назвали их Original и Duplicate. Исходный каталог содержит три изображения, а дубликат пуст. Теперь давайте рассмотрим некоторые примеры rsync, увидим эту утилиту в действии.

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

rsync original/* duplicate/

* поручает команде rsync синхронизировать всё в исходном каталоге с дубликатом.

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

Очень удобно использовать эту функцию, когда вы копируете файлы по сети с ограниченной пропускной способностью.

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

Если вы хотите скопировать и подкаталоги, используйте эту команду:

rsync -r original/ duplicate/

Опция -r (recursive) указывает rsync копировать всё, включая подкаталоги и файлы из нашей исходной папки.

Модификатор /, используемый после original, указывает rsync скопировать содержимое оригинального каталога в дубликат папки.

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

rsync -r original duplicate/

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

Ещё одна полезная опция — это -a (archive), и её можно объединить со многими другими командами. Команда, в которой указанный этот параметр будет не просто копировать файлы, но и разрешения, время изменений и любые другие данные.

Команда -a будет выглядеть примерно так:

rsync -av --dry-run Original/ Duplicate/

Не волнуйтесь, ведь она только выглядит сложно! Давайте разберёмся.

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

Если вы хотите скопировать все файлы из этого списка, повторите команду без dry-run.

dry-run, или -n заставляет rsync выполнить пробный запуск, который не вносит никаких изменений.

-a включает режим “архив”. 

-v (verbose), который добавляется к -a, образуя -av в нашей команде, увеличивает многословность. Проще говоря, с помощью -v вы получите более визуальный вывод, который показывает прогресс процесса.

Если вы хотите синхронизировать две папки, но удалить элементы в папке-дубликате, которых нет в исходной папке, добавьте –delete, например:

rsync -av --delete original/ duplicate/

Последняя переменная команды, которую мы рассмотрим, это -z (–compress). Эта команда объединит файлы, которые передаются по сети. В качестве бонуса давайте посмотрим, как перенести файлы из исходного сервера на другой. Команда будет выглядеть так:

rsync -za ~/Desktop/Original olha@192.168.22.90:~/tmp/

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

~/Desktop/Original — это исходник. Это локальный каталог — тот, который находится на компьютере, из которого вы вошли, и, наконец, olha@192.168.22.90: ~/tmp/ означает место назначения.

olha@192.168.22.90 — это адрес удалённого сервера назначения, а : ~/tmp/ указывает на конкретную папку на этом компьютере.

Выводы

Это лишь малая часть того, что может rsync Linux! Это невероятно мощная утилита, о которой должен знать и уметь пользоваться каждый системный администратор или разработчик Linux. В этом руководстве мы разобрались с основами — установкой и основными командами. Если вас интересуют более продвинутые функции, продолжайте знакомиться с ними в официальной документации.

Читайте также:  Плагин Переводчик: Лучшие Варианты Для WordPress

Приготовьтесь быть ещё более эффективным! Успехов с вашими проектами! 


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

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

одиннадцать + 5 =

наверх