Відповіді:
Ви можете розраховувати на wget, який зазвичай обробляє ftp отримати належним чином (принаймні, на мій власний досвід). Наприклад:
wget -r ftp://user:pass@server.com/
Ви також можете використовувати те, -mщо підходить для дзеркального відображення. Наразі це еквівалентно -r -N -l inf.
Якщо у вас є якісь особливі символи в реквізитах даних, можна вказати --userта --passwordаргументи, щоб змусити його працювати. Приклад із спеціальним входом із конкретними символами:
wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/
EDIT
Як зазначав @asmaier, слідкуйте за тим, що навіть якщо -rце рекурсія, вона має максимальний максимальний рівень 5:
-r --recursive Turn on recursive retrieving. -l depth --level=depth Specify recursion maximum depth level depth. The default maximum depth is 5.
Якщо ви не хочете пропускати підкаталоги, краще скористайтеся параметром дзеркального відображення -m:
-m --mirror Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings. It is currently equivalent to -r -N -l inf --no-remove-listing.
wget -m( --mirror). wget -rза замовчуванням обмежена глибиною рекурсії 5.
--userі --passwordнадто Red Red Hat. Мій wget: GNU Wget 1.11.4 Red Hat modifiedЦікаво, чи це версія версія чи річ
-l 0, тому не потрібно використовувати --mirrorякісь небажані побічні ефекти, такі як .listing файли
wget --ask-password -rl 99 ftp://user@server.com. Таким чином пароль не видно з psі не залишається в історії. Звичайно, за характером ftp він надсилається незашифрованим на сервер.
$), наприклад--user='user' --password='pa$$word'
Тільки для доповнення відповіді, яку дав Тібаут Барре.
я використав
wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory
Зверніть увагу на подвійну косу рису після імені сервера. Якщо я не ставлю додаткову косу рису, шлях відноситься до домашнього каталогу користувача.
--ftp-user=USERі --ask-password.
ncftp -u <user> -p <pass> <server>
ncftp> mget directory
open ftp://USERNAME:PASSWORD@HOSTпісля запуску ncftp…
wgetта швидший у режимі TAR. Дякую!
Якщо lftpвін встановлений на вашій машині, використовуйте mirror dir. І ви закінчили. Дивіться коментар Ciro нижче, якщо ви хочете рекурсивно завантажувати каталог.
mirror -R dirчи рекурсивне завантаження / оновлення каталогу
mirror ./для завантаження всіх файлів і папок рекурсивно в поточному шляху.
mirrorдля поточного каталогу та його підпапок.
Якщо ви можете використовувати scpзамість цього ftp, -rваріант зробить це за вас. Я хотів би перевірити, чи можна використовувати більш сучасний механізм передачі файлів, ніж FTP.
scpвсе одно буде намагатися використовувати ssh, який не працюватиме, якщо у вас є лише FTP-дані. Здається, що я дивно реагую на коментар 2008 року, кажучи, що технологія, з якою я застряг, не сучасна :( Старий добрий 2008 рік, мені було 18 років, коли ви опублікували свій коментар.
Використовуйте замість WGet. Він підтримує протоколи HTTP та FTP.
wget -r ftp://mydomain.com/mystuff
Щасти!
довідка: http://linux.about.com/od/commands/l/blcmdl1_wget.htm
Існує 'ncftp', який доступний для установки в Linux. Це працює за протоколом FTP і може використовуватися для рекурсивного завантаження файлів і папок. працює на Linux. Використовується і працює нормально для рекурсивної передачі папок / файлів.
Перевірте це посилання ... http://www.ncftp.com/
Якщо ви можете, я настійно пропоную вам tarі bzip(або gzip, що б не плавав ваш човен), каталог на віддаленій машині - для каталогу будь-якого значного розміру, економія пропускної здатності, ймовірно, буде вартим часу, щоб зібрати / розпакувати.
Не слід використовувати ftp. Начебто telnetце не використання захищених протоколів, а паролі передаються чітким текстом. Це робить третім сторонам дуже легко захопити ваше ім’я користувача та пароль.
Щоб скопіювати віддалені каталоги віддалено, кращі такі параметри:
rsyncє найкращим інструментом, якщо ви можете ввійти через систему ssh, оскільки він копіює лише відмінності і може легко перезапустити посередині, якщо з’єднання перерветься.
ssh -r є другим найкращим варіантом рекурсивного копіювання структур каталогів.
Подивитися:
перемикання підказки командою PROMPT.
Використання:
ftp>cd /to/directory
ftp>prompt
ftp>mget *
mget, це зовсім не рекурсивно. відповідь 22 вересня08 р. о 9:01 Thibaut Barrère легше зрозуміти, але потрібно додати варіант,-l 0як згадується в коментарях