Как я могу параллелизировать загрузку каталога FTP?

Вы спрашиваете об общем размере файлов/каталогов, содержавших в /, или общий размер корневой файловой системы?

Если первый, использовать df -h /.

Если последний, можно сделать это с du -sh /, который будет очень медленным, поскольку это должно перечислить каждый файл. Лучше, но возможно неточный из-за вещей любят, связывают, монтируется, файловые системы, сохраненные как редкие файлы в других файловых системах/и т.д.: общее количество Ваш df вывод.

7
22.09.2017, 13:50
2 ответа

lftp сделал бы это с командой mirror -R -P 20 localpath - зеркально отразите синхронизации между местоположениями, и-R использует удаленный сервер в качестве места назначения с P выполнение 20 параллельных передач сразу.

Как объяснено в man lftp:

   mirror [OPTS] [source [target]]

   Mirror specified source directory to local target directory. If  target
   directory ends with a slash, the source base name is appended to target
   directory name. Source and/or target can be URLs pointing  to  directo‐
   ries.


        -R,    --reverse                 reverse mirror (put files)
        -P,    --parallel[=N]            download N files in parallel
8
27.01.2020, 20:17

Вы могли попытаться использовать параллель гну и завихриться для автоматизации ее.

затем Вы могли сделать что-то, такое как:

find . -t f -name "*.pdf" | parallel -j 4 curl -T {} ftp://ftp.site.com --user me:pass

Это выполнит 4 задания на CPU, загружающий весь pdfs в рабочем тракте.

2
27.01.2020, 20:17
  • 1
    одного возможного подхода, но имеет недостаток необходимости пройти проверку подлинности однажды для каждого файла - снова, много издержек, усугубленных высокой задержкой. –  Bob 22.01.2014, 09:07

Теги

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