Перемещение очень большого размера (~100 Гб) с одного сервера на другой

Мы перемещаем серверы, и мне нужно перенести все данные с сервера A на сервер B.

У меня есть tar.gz около 100 ГБ, который содержит все файлы сервера А.

Я действительно хотел бы избежать загрузки файла локально на моем компьютере и загрузки его на сервер B.

У меня есть только FTP доступ к серверу А. Это означает, что нет SSH. Тем не менее, у меня есть SSH доступ к серверу B.

Какой лучший способ передачи файла? Я думал о том, чтобы временно переместить мой файл tar.gz в public_html и загрузить его с помощью wget. Будет ли это работать? В противном случае я мог бы использовать ftp через сеанс ssh на сервере B.

2 ответа

Решение

Что-то вроде:

ssh user@serverB
nohup wget -bqc ftp://path/largefile.tar.gz

Варианты Wget:

-b : run in background
-q : quiet
-c : resume broken download (means you can restart if it breaks)

Это запускает wget в фоновом режиме, поэтому (надеюсь), если вы выйдете из оболочки ssh, он продолжит работу. Хорошо, я думаю, вам нужен nohup, чтобы убедиться, что это так, когда вы выходите из системы

Поскольку вы инициируете загрузку с сервера B, ваш настольный компьютер не участвует в передаче файла, кроме как для его настройки.

Если это не очень конфиденциальные данные и ваше соединение достаточно безопасно, перейдите по ssh в B и загрузите прямо с A через ftp. SSH сделает вашу загрузку значительно медленнее из-за накладных расходов на шифрование. Если возможно, разбейте файл размером 100 ГБ на несколько, особенно если ftp-сервер на A не поддерживает возобновление загрузки.

Другие вопросы по тегам