Мы перемещаем серверы, и мне нужно перенести все данные с сервера 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 не поддерживает возобновление загрузки.