linuxのディレクトリ構造をそのまま再帰的にダウンロードしたい場合、ftpの mget ではできないため、wget を使用して行います。
以下のようにします。
1 |
$ wget -mc ftp://user:password@hostname |
user名やパスワードに特殊文字が入っている場合は以下のようにします。
1 |
$ wget -mc --user="hoge@hoge" --password="hoge hoge" ftp://hostname |
-m はミラー、-c は continue という意味で、詳細は以下です。
-m
–mirror
ミラーに適したオプションを開始します.このオプションは回収とタイムスタン プを開始し,無限の再帰深度を設定し,FTPディレクトリリストを保ちます. 現在は,-r -N -l inf -nrと同じです.
-c
–continue
既存のファイルの取得を続けます.これは,他のプログラムで開始したダウンロー ドや,前回のWgetのインスタンスを終了したいとき便利です.以下のように書く ことができます.
wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
現在のディレクトリにファイル名ls-lR.Zがある場合,Wgetは,それがリ モートファイルの最初の位置だと考え,ローカルファイルと同じ長さのオフセッ トから回収を続けるためサーバに要求します.Wgetに,接続が失われたとき中止したところで回収を続けさせたいだけの場合, このオプションを指定する必要が無いことに注意してください–Wgetは,これ をデフォルトで行います.他のFTPクライアントで保存されたり,キルされ たWgetが残した,既に半分回収しているファイルの回収を続けたいときだけ,こ のオプションを指定する必要があります.
-cが無い場合,前の例はリモートファイルをls-lR.Z.1にダウン ロードを開始するだけです.-cオプションは,Rangeヘッダをサ ポートするHTTPサーバに対する適応も可能です.