4

Я пытаюсь загрузить около 20 ГБ данных через FTP с помощью моей личной учетной записи (нет доступного scp и tar тайнинг невозможен).

Я использую следующую стандартную команду:

 wget -m ftp://user:pass@host.com/db/

Это работает некоторое время и затем терпит неудачу во время аутентификации для загрузки.

При попытке подключиться к серверу через FTP-клиент, он отвечает:

530 Извините, максимальное количество клиентов (15) для этого пользователя уже подключено.

Похоже, что wget открывает много соединений. Можно ли использовать только одно подключение к серверу с помощью wget?

3 ответа3

6

По умолчанию wget использует пассивный FTP, т. Е. Использует одно управляющее соединение и открывает новое для каждой передачи файла.

В активном FTP сервер открывает необходимые соединения. Если вы можете принимать входящие соединения, это предпочтительный способ передачи файлов по FTP.

wget загружает только один файл за раз, поэтому он должен использовать только два соединения. Похоже, что соединения не закрываются должным образом. Попробуйте, если установка режима передачи на "активный" исправит это.

Чтобы включить активный FTP, используйте ключ --no-passive-ftp .

2

Я думаю, что wget просто так работает. Раньше, когда мне нужно было зеркально отображать вещи через FTP, я использовал lftp .

2

wget не выполняет никакого параллелизма, но соединения могут сбрасываться и некоторое время подсчитываться сервером.

--retry-connrefused --waitretry=30 должно помочь. Я позволю вам взглянуть на wget(1) если это не понятно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .