Быстрая загрузка нескольких FTP-каталогов

У меня есть FTP-сервер с очень большим количеством вложенных каталогов. Мне нужно скачать весь каталог рекурсивно. Из-за очень большого количества каталогов (большинство из них имеют только один файл) загрузка кажется ограниченной.

мои два подхода

  • использование FileZilla (с несколькими параллельными соединениями)
  • скачать zip каталог непосредственно с хоста

ведет к очень медленной downloadrate несколько кб/сек. С такой скоростью мне нужно 5 дней, чтобы загрузить все файлы ... это не вариант.

какие возможности у меня есть, чтобы загрузить весь каталог FTP как можно быстрее?

25
задан Fruchtzwerg
08.05.2023 16:18 Количество просмотров материала 3137
Распечатать страницу

2 ответа

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

вы не сказали, Нужно ли использовать FTP. Если вы можете обойти его, попробуйте использовать SCP, или даже открыть веб-сервер и скачать zip-файл за что. Оба они работают через одно TCP-соединение и намного проще, чем FTP.

Если вы должны использовать FTP, попробуйте каждый из пассивных и активных режимов, и убедитесь, что хост имеет соответствующий отслеживания подключений включен или использовать VPN непосредственно на сервер, который вы пытаетесь FTP от во избежание проблем NAT / брандмауэра.

(попробуйте установить MTU для ethernet-соединения чуть ниже на хосте или настройте зажим MTU и посмотрите, это имеет значение)

1
отвечен davidgo 2023-05-10 00:06

одна возможность упаковать файлы, чтобы использовать консоль SSH с командой, как

zip -r <username>/backup_29_08_12.zip<username>

Так как мой при условии, не позволяет такое соединение, в моем случае это не было возможно.

я узнал, что мой провайдер позволяет использовать пакет PEAR Archive_Tar. Результатом является упаковка PHP scipt файлы:

<?
    @error_reporting(E_ALL ^ E_WARNING);
    @ini_set("max_execution_time", 0);
    @ini_set("memory_limit", "-1");

    $directory = "";

    $ignore = array("*.sql.gz", "*.tar.gz");

    $path = preg_replace('/(\/www\/htdocs\/\w+\/).*/', '', realpath(__FILE__));
    include "Archive/Tar.php";
    $archivename = preg_replace('/.+\/(.+)\/$/', '', $path).date('_Y-m-d_His').".tar.gz";
    $archive = new Archive_Tar($archivname, true);
    $archive->setIgnoreList($ignore);
    $archive->createModify($path.$directory, "", $path);
    echo "Backup done";
?>

вызов этого скрипта в папке с CHMOD 0777 занял около получаса. После этого я мог загружать упакованные файлы без ограничения скорости загрузки.

0
отвечен Fruchtzwerg 2023-05-10 02:23

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх