Я хочу скачать каталог по FTP. Каталог очень большой, и было бы полезно, если бы я мог приостановить и возобновить загрузку по мере необходимости.
Целевой каталог FTP является статическим. То есть его содержимое не изменится во времени. И никакой аутентификации не требуется.
Какой лучший инструмент для этой работы?
wget
должен работать:
wget -r -l 0 ftp://username:password@some.host/some_dir/*
wget
инструмент для загрузки файлов.
-r
рекурсивные средства.-l 0
для бесконечной рекурсии, потому что -r
по умолчанию имейте глубину рекурсии 5.some_dir/
относительно пользователя домашний dir. Если Вы хотите полный путь, добавляет еще один /
после имени хоста.Возможно, необходимо использовать --user
и --password
аргументы, чтобы заставить это работать над Ubuntu. (согласно https://stackoverflow.com/questions/113886/how-do-you-recursively-ftp-a-folder-in-linux)
Можно сделать это с завихрением:
curl -u user:password 'ftp://site/folder/file.txt' -o /tmp/file.txt
или с gui FileZilla
Я использовал бы lftp и зеркальную функцию в нем. Можно загрузить файлы в pararell, остановить, возобновить, ограничить скорость и т.д.
Alternativly - можно использовать wget
wget -m -c ftp://serwer/directory
, Если Вы хотите остановиться - просто останавливают wget. Для резюме - делают это снова - это не загрузит файлы, который был уже загружен.
, Если Вы хотите загрузить/отклонить определенные файлы, можно использовать-A или-R опцию (или - если Вы хотите определить его через regexp - accept-regex/-отклонение-regex)
Ftp AFAIK не поддерживает загрузку каталога непосредственно.
можно использовать FileZilla
с этой целью. Это хранит всю Вашу передачу в очереди. Можно возобновить передачу позже, как только она приостанавливается или когда Вы снова соединяетесь с сервером.