linuxで再帰的にftp DLするのはwgetでできる

スポンサーリンク

tux logo

コマンド

よく使うやつ(結論)

コレ↓使っときゃいいだろう。textboxで編集してコピペして使ってね。

  • オプション
    • -m
      • ミラーリング
    • -c
      • 中断しても再開してくれる

基本

ミラーする。

wget -m ftp://username:password@hostname

-m, –mirror ftpプロトコルで再帰的にデータを取得する際指定のディレクトリ以下に存在するファイル、ディレクトリ全て取得します。ただし、ローカルホスト上の同名のファイルより古い場合は保存しません。

出典

wget -r

でも落とせるけど、5階層までしか辿れないらしい。

ユーザー名やパスワードに@(アットマーク)が含まれる場合

@を

%40にすればいい。

wget -m ftp://user%40name:password@hostname

↑これだと、「ポート番号が不正です。」というエラーが出てダウンロード出来ないことがあった。

  • 原因は恐らくだけど、パスワードに特殊な記号が含まれていたからだと思う

以下のいずれかでやったら回避できる(2個めのパスワードを聞かれるパターンしか試してない)

wget --user=USER@NAME --password=PASSWORD ftp://HOSTNAME

または、

wget --user=USER@NAME --ask-password ftp://HOSTNAME

(パスワードを聞かれる)

再帰的じゃなくて、ファイル単体を個別に1個だけダウンロードしたい場合

wget --user=USER@NAME --ask-password ftp://HOSTNAME/DIRECTORY/FILE.EXTENSION

みたくする。

 

一部のディレクトリを除外したい場合

オプション

--exclude-directories

で指定する。

例)

–exclude-directories=/diretctory1,/directory2

別の記事にもちょっとだけ詳しく書いてる。

まだ試せてないやつ。進捗を表示するオプション

wgetはデフォルトでダウンロード進捗とともに現在の転送速度(例:1.28MB/s)を表示します[2][5]。
特にオプションを指定しなくても、標準出力に進捗バーや速度、残り時間などが表示されます。

速度表示のカスタマイズ

  • より詳細な進捗や速度を見たい場合は、--progress=dot:binaryなどのオプションで表示形式を変更できます[2]。
wget --progress=dot:binary URL
  • 進捗バーだけを表示したい場合は、-q --show-progressを組み合わせるとシンプルな進捗と速度が見やすくなります[5]。
wget -q --show-progress URL

速度制限のオプション

  • ダウンロード速度を制限したい場合は、--limit-rate=数値(例:--limit-rate=500k)を使います[1][3][6][7]。

その他参考にしたサイトさま

bioinformaticsさん(ありがとうございました!)

コメント

タイトルとURLをコピーしました