Назад | Перейти на главную страницу

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

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

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

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

У меня есть ftp-доступ только к серверу A. Это означает отсутствие ssh. Однако у меня есть ssh-доступ к серверу B.

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

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

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, чтобы убедиться, что это так, когда / если вы выходите из системы

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

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