Передача файлов с хоста A на хост B без загрузки на жесткий диск и простой ftp?

1801

У меня есть веб-сайт для перехода с одного хоста на другой .. например: с bluehost на hostgator ... я сделал почтовый индекс моего сайта, который составляет 2 ГБ ..

я хочу знать, есть ли какое-либо программное обеспечение или что-то, что позволяет мне загружать его непосредственно на другой хост, не загружая zip на мой ПК и снова загружая на хост через ftp ???

0

5 ответов на вопрос

3
David Spillett

Технически возможно выполнить межсерверную передачу по FTP (вы открываете управляющие соединения для каждого сервера и настраиваете соединения для передачи данных соответствующим образом, чтобы они указывали между собой, а не на ваш локальный хост). Я сделал это вручную (хотя и много лет назад), но я не знаю ни одного "дружественного" клиентского приложения, поддерживающего эту функцию.

Если любой из хостов разрешает вам доступ по SSH, вы можете просто использовать ftpутилиту командной строки, чтобы отправить файл напрямую таким образом:

  1. войти на сервер через SSH
  2. Перейдите в правильный каталог (где файл либо есть, либо хочет пойти)
  3. запустите ftp <name_or_IP_address_of_other_server>и введите свое имя пользователя и пароль при появлении запроса
  4. Перейдите в каталог, где находится файл (или он хочет перейти) с помощью cdкоманды
  5. введите binaryкоманду, чтобы убедиться, что в передаче не происходит преобразований перевода строки (или аналогичных)
  6. выдать, hashесли вы хотите немного индикации прогресса во время передачи файла
  7. если вы отправляете файл с сервера, который вы использовали в SSH, введите put <filename>команду, и если вы хотите извлечь файл с другого сервера на тот, на котором вы вошли в систему get <filename>.
  8. подождите ... (даже если вы получаете 100-мегабитную передачу между серверами, 2-гигабайтный файл займет несколько минут)

Для получения более подробной информации о командной строке ftp-клиент либо запустите man ftpна сервере, либо посмотрите онлайн-копию man-страниц, таких как эта (хотя чтение локальной man-страницы сервера для команды немного безопаснее, поскольку вы точно знаете, что она говорит о версии у вас есть).

Если оба хоста разрешают вам доступ по SSH, то это немного проще, так как в большинстве случаев SCP / SFTP также будет включен, и вы можете сделать это:

  1. войдите на сервер, на который необходимо скопировать файл
  2. перейдите в каталог, где файл должен быть
  3. запустить команду как scp user@other.server.tld:~/path/filename .

или же

  1. войдите на сервер, на котором в данный момент находится файл
  2. запустить команду как scp path/to/file/filename user@other.server.tld:~/

Еще один вариант, если конечный сервер разрешает доступ по SSH и файл, который вы хотите передать на него, доступен через HTTP или HTTPS, это передать файл по HTTP (S) с помощью wget (на большинстве хостов wget будет установлен на их серверах) :

  1. войдите на сервер, на который необходимо скопировать файл
  2. перейдите в каталог, где файл должен быть
  3. запустить команду как wget http://source.server.tld/path/filename
1
William Hilsum

Технически, обычно это не так - у большинства веб-провайдеров есть DNS-серверы, а не клиенты, так как FTP-сервер обычно используется для атак на серверы.

Тем не менее, веб-хосты хотят бизнеса и, как правило, пытаются помочь. Почему бы не написать в службу технической поддержки и посмотреть, не захотят ли они загрузить ее прямо в вашу учетную запись?

1
Suppressingfire

Существуют некоторые протоколы, которые поддерживают это, но я не ожидаю, что они будут поддерживаться вашими провайдерами. Одним из таких механизмов, который является расширением для FTP, является FXP .

0
Jimmy Hedman

Убедитесь, что на хосте B включен Web-dav, вы должны иметь возможность использовать, например, cadaver для прямой передачи файла.

0
Amr Elgarhy

You could check AutoFileMove, It allow users to move files between 2 FTP accounts without downloading files to any local devices.
http://youtu.be/iV8E4oetvzA