私はコマンドラインFTPクライアントを使用してフォルダをFTPしようとしていますが、これまでのところ私は個々のファイルを取得するために 'get'を使用することしかできませんでした。
あなたは(少なくとも私自身の経験では)通常ftpを正しく処理するwgetに頼ることができます。例えば:
wget -r ftp://user:[email protected]/
ミラーリングに適した-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.
Thibaut Barrereによって与えられた答えを補完するためだけに。
私が使った
wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory
サーバー名の後の二重スラッシュに注意してください。余分なスラッシュを付けないと、パスはユーザーのホームディレクトリからの相対パスになります。
ncftp -u <user> -p <pass> <server>
ncftp> mget directory
あなたのマシンにlftp
がインストールされている場合は、mirror dir
を使用してください。そして、あなたは終わりました。ディレクトリを再帰的にダウンロードしたい場合は、下記のCiroのコメントを参照してください。
scp
の代わりにftp
を使用できる場合は、-r
オプションでこれが可能になります。 FTPよりも新しいファイル転送メカニズムを使用できるかどうかを確認します。
代わりにWGetを使用してください。 HTTPおよびFTPプロトコルをサポートしています。
wget -r ftp://mydomain.com/mystuff
がんばろう!
Linuxにインストールできる 'ncftp'があります。これはFTPプロトコルで動作し、ファイルやフォルダを再帰的にダウンロードするために使用できます。 Linux上で動作します。再帰的なフォルダ/ファイル転送に使用されてきて正常に動作している.
このリンクをチェックしてください... http://www.ncftp.com/
あなたがコマンドラインFTPに固執したいなら、あなたはNcFTPを試すべきです。その後、get -Rを使用してフォルダを再帰的に取得できます。あなたも完成するでしょう。
可能であれば、リモートマシンのディレクトリtar
とbzip
(またはgzip
、フロートに関係なく)にディレクトリを作成することを強くお勧めします。
wget -r ftp://url
RedhatとUbuntuのために完璧に動作する