Перемещение очень большого размера (~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 не поддерживает возобновление загрузки.