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»