Рубрики
Uncategorized

Как передавать файлы с одного сервера Linux на другой с помощью RSYNC?

Введение Команда RSYNC, вероятно, является одной из самых используемых команд. Это … с меткой Linux, DevOps, Bash, Ubuntu.

rsync Команда, вероятно, является одной из самых используемых команд. Он используется для безопасной копирования файлов с одного сервера на другой над SSH.

По сравнению с SCP Команда, которая делает подобную вещь, rsync делает передачу намного быстрее, и в случае перерыва вы можете восстановить/возобновить процесс передачи.

В этом уроке я покажу вам, как использовать rsync Командные и копируйте файлы с одного сервера на другой, а также поделитесь несколькими полезными советами!

Прежде чем начать работу, вам нужно будет иметь 2 сервера Linux. Я буду использовать DigitaloCean для демонстрации и развернуть 2 сервера Ubuntu.

Вы можете использовать мою реферальную ссылку, чтобы получить бесплатный кредит на 100 долларов, который вы можете использовать для развертывания своих виртуальных машин и протестировать руководство на нескольких цифровых серверах:

Digitalocean 100 долларов бесплатный кредит

Это одна из наиболее распространенных причин. По сути, именно так вы скопируете файлы с сервера, на котором вы находитесь в настоящее время (исходный сервер) на сервер удаленного/назначения.

Что вам нужно сделать, так это SSH для сервера, который удерживает ваши файлы, CD в каталог, который вы хотели бы перенести:

cd /var/www/html

А затем беги:

rsync -avz user@your-remote-server.com:/home/user/dir/

Приведенная выше команда копирует все файлы и каталоги из текущей папки на вашем сервере на ваш удаленный сервер.

Изложение команды:

  • -a : используется для указания, что вы хотите рекурсию и хотите сохранить разрешения на файл и т. Д.
  • -v : это многословный режим, он увеличивает объем информации, которая вам дана во время передачи.
  • -z : Эта опция, RSYNC сжимает данные файла, когда они отправляются на машину назначения, что уменьшает объем передаваемых данных — что полезно для медленного соединения.

Я рекомендую посмотреть на следующий веб -сайт, который очень хорошо объясняет команды и аргументы:

https://explainshell.com/explain?cmd=rsync+-avz

В случае, если служба SSH на удаленном сервере не работает на стандартном 22 Порт, вы можете использовать rsync со специальным портом SSH:

rsync -avz -e 'ssh -p 1234' user@your-remote-server.com:/home/user/dir/

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

rsync -avz your-user@your-remote-server.com:/home/user/dir/ /home/user/local-dir/

Опять же, если у вас есть нестандартный порт SSH, вы можете использовать следующую команду:

rsync -avz -e 'ssh -p 2510' your-user@your-remote-server.com:/home/user/dir/ /home/user/local-dir/

Если вы хотите перенести только недостающие файлы, вы можете использовать -ЗАБЛЮЧАЕТСЯ флаг.

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

По сути, команды были бы такими же, кроме добавленного существующего флага:

 rsync -avz --ignore-existing  user@your-remote-server.com:/home/user/dir/

Используя rsync это отличный способ быстро перенести некоторые файлы с одной машины на другую в безопасном виде над SSH.

Чтобы получить более крутые сетевые инструменты Linux, я бы порекомендовал проверить этот урок здесь:

Лучшие 15 сетевых инструментов Linux, которые вы должны знать!

Надеюсь, это поможет!

Оригинал: «https://dev.to/bobbyiliev/how-to-transfer-files-from-one-linux-server-to-another-using-rsync-282h»