Я пытаюсь отразить общедоступный FTP в локальный каталог. Когда я использую wget -m {url}
, тогда wget довольно быстро пропускает множество файлов, которые уже были загружены (и более новой версии не существует), когда я использую lftp open -u user,pass {url}; mirror
, то lftp
отправляет MDTM
для каждого файла, прежде чем решить, загружать файл или нет. С 2 миллионами файлов в более чем 50 тысячах каталогов это очень медленно, кроме того, я получаю сообщения об ошибках, что MDTM каталогов не может быть получен.
В руководстве сказано, что использование set sync-mode off
приведет к отправке всех запросов одновременно, так что lftp
не будет ждать каждого ответа. Когда я это делаю, я получаю сообщения об ошибках от сервера, в которых говорится, что с моего IP-адреса слишком много подключений.
Сначала я попытался запустить wget
, чтобы загрузить только новые файлы, но это не удаляет файлы, которые были удалены с FTP-сервера, поэтому я использую lftp
, чтобы удалить старые файлы, однако lftp
по-прежнему отправляет MDTM для каждого файла, что означает что в этом подходе нет никаких преимуществ.
Если я использую set ftp:use-mdtm off
, то кажется, что lftp
просто заново скачивает все файлы.
Может ли кто-нибудь предложить правильную настройку для lftp
с большим количеством каталогов/файлов (в частности, чтобы он пропускал каталоги, которые не были обновлены, как это делает wget)?