как передать файлы между двумя ftps

Замены параметра могут использоваться для замены текста без любых проблем выхода:

output=$(ls -t downloads | while IFS= read -r f; do
    echo "<a href=\"downloads/$f\">$f</a>"
done)

html=$(<index.html)
html=${html/placeholder/$output}
echo "$html" > output.html

Вы могли также использовать awk -v передать текст замены как переменную:

awk -v v="$output" '{sub("placeholder",v);print}' index.html > output.html

Или используйте Ruby для замены многострочного шаблона, не требуя заполнителя:

echo "$output" | ruby -i -e 'print gets(nil).sub(/<a .*<\/a>\n/m, STDIN.read)' index.html
4
15.11.2014, 00:55
2 ответа

Вы можете использовать клиент, поддерживающий протокол FXP, как описано в одном из ответов на вопросы и ответы webmaster.stackexchange.com: Как я могу передавать файлы с одного сервера на другой, используя FTP

Далее из базы знаний SmartFTP:

выдержка

Что такое FXP?

FXP означает протокол File eXchange Protocol (протокол обмена файлами). Он позволяет копировать файлы с одного FTP-сервер к другому с помощью FXP-клиента. Обычно вы передаете файлы используя FTP-протокол между вашей машиной и FTP-сервером и максимальная скорость передачи данных зависит от скорости вашего интернета подключение (например, 56к, кабель или T1). При передаче файлов между два удаленных сервера с помощью клиента FXP, максимальная скорость передачи данных зависит не от вашего соединения, а только от соединения между два сервера, которые обычно намного быстрее, чем ваши собственные. Соединение. Потому что это прямое соединение, вы не сможете просмотреть прогресс или скорость передачи файлов.

2 такими клиентами, поддерживающими эту функцию, являются SmartFTP и CuteFTP.

выдержка

Ограничения

  • Оба FTP-сервера должны поддерживать FXP и иметь включенную поддержку. Пожалуйста, проконсультируйтесь с администратором сервера, так как большинство FTP-серверов не поддерживает поддерживать FXP или отключить FXP в связи с потенциальными рисками безопасности.
  • Один сервер должен поддерживать PASV-режим, а другой должен разрешать команды PORT с иностранного адреса. Клиент входит в систему по обоим адресам серверы, а затем он организует передачу файлов, сообщив одному серверу. что это будет пассивная передача, а другая, что это будет активная передача, см. пример.
выдержка

Пример

FTP-клиент говорит FTP-серверу-получателю, чтобы он прослушал соединение, отправив команду "PASV". Исходный FTP-сервер соединяется к порту данных, сообщенному сервером-получателем (после успешная команда PASV). Затем клиент передает адрес/порт в формате "ПОРТ" на сервер-получатель. Таким образом, все данные передаются непосредственно от источника до конечного FTP-сервера. Оба сервера сообщать FTP-клиенту только о статусе сообщений о сбое/удаче. Вы можете передавать файлы с одного удаленного сервера на другой с помощью SmartFTP посредством открытие удаленного сервера в каждом окне, а затем перетаскивание.

Ссылки

3
27.01.2020, 20:55

Вы можете использовать FXP. Я использую CBFTP для Linux FXP:https://cbftp.eu/

1
27.01.2020, 20:55

Теги

Похожие вопросы