株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ UNIX のコマンド:wget コマンドでミラーを取る

技術ドキュメント目次 -> UNIX のコマンド -> wget コマンドでミラーを取る

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ wget コマンドでミラーを取る

wgetコマンド(httpのリクエストを行うコマンド、ftpプロトコルにも対応)を
-m オプションを付加して実行することで、ftpサイトのミラーを取ることができます。
複雑なコマンドラインオプションや設定ファイルを必要としないため、
非常に簡単にFTPサイトのミラーを取ることができ、大変便利です。

例えば、 RedHat Linux 7.1 のアップデートサイトのミラーを採るには次のようにします。

# wget -m ftp://updates.redhat.com/7.1/en/
--22:36:34--  ftp://updates.redhat.com/7.1/en/
           => `updates.redhat.com/7.1/en/.listing'
updates.redhat.com:21 に接続しています... 接続しました!
anonymous としてログインしています... ログインしました!
==> TYPE I ... 完了しました。  ==> CWD 7.1/en ... 完了しました。
==> PORT ... 完了しました。    ==> LIST ... 完了しました。

    0K ->

22:36:36 (41.67 KB/s) - `updates.redhat.com/7.1/en/.listing' を保存しました [128]

--22:36:36--  ftp://updates.redhat.com/%2F7.1/en/os/
           => `updates.redhat.com/7.1/en/os/.listing'
==> CWD /7.1/en/os ... 完了しました。
==> PORT ... 完了しました。    ==> LIST ... 完了しました。

    0K ->

22:36:37 (45.18 KB/s) - `updates.redhat.com/7.1/en/os/.listing' を保存しました [694]

--22:36:37--  ftp://updates.redhat.com/%2F7.1/en/os/SRPMS/
           => `updates.redhat.com/7.1/en/os/SRPMS/.listing'
==> CWD /7.1/en/os/SRPMS ... 完了しました。
==> PORT ... 完了しました。    ==> LIST ... 完了しました。

    0K -> ........

22:36:37 (29.53 KB/s) - `updates.redhat.com/7.1/en/os/SRPMS/.listing' を保存しました [8225]

--22:36:38--  ftp://updates.redhat.com/%2F7.1/en/os/SRPMS/LPRng-3.7.4-23.src.rpm
           => `updates.redhat.com/7.1/en/os/SRPMS/LPRng-3.7.4-23.src.rpm'
==> CWD は必要ありません。
==> PORT ... 完了しました。    ==> RETR LPRng-3.7.4-23.src.rpm ... 完了しました。
長さ: 2,590,243

    0K -> .......... .......... .......... .......... .......... [  1%]
   50K -> .......... .......... .......... .......... .......... [  3%]
  100K -> .......... .......... .......... .......... .......... [  5%]
  150K -> .......... .......... .......... .......... .......... [  7%]
......


上記のコマンドが終了すると、次のようなディレクトリ構成でファイルが出来ています。

# find ./
./
./updates.redhat.com
./updates.redhat.com/7.1
./updates.redhat.com/7.1/en
./updates.redhat.com/7.1/en/.listing
./updates.redhat.com/7.1/en/os
./updates.redhat.com/7.1/en/os/.listing
./updates.redhat.com/7.1/en/os/SRPMS
./updates.redhat.com/7.1/en/os/SRPMS/.listing
./updates.redhat.com/7.1/en/os/SRPMS/LPRng-3.7.4-23.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/Mesa-3.4.2-10.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/SysVinit-2.78-17.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/XFree86-4.1.0-15.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/XFree86-Servers-3.3.6-38.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/XFree86-compat-libs-4.0.3-2.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/Xconfigurator-4.9.39-0.71.1.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/anonftp-4.0-9.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/apache-1.3.22-1.7.1.src.rpm
./updates.redhat.com/7.1/en/os/SRPMS/at-3.1.8-23.src.rpm
...(中略)
./updates.redhat.com/7.1/en/os/alpha
./updates.redhat.com/7.1/en/os/alpha/.listing
./updates.redhat.com/7.1/en/os/alpha/Mesa-3.4.2-10.alpha.rpm
./updates.redhat.com/7.1/en/os/alpha/Mesa-demos-3.4.2-10.alpha.rpm
./updates.redhat.com/7.1/en/os/alpha/Mesa-devel-3.4.2-10.alpha.rpm
./updates.redhat.com/7.1/en/os/alpha/SysVinit-2.78-17.alpha.rpm
./updates.redhat.com/7.1/en/os/alpha/XFree86-100dpi-fonts-4.1.0-15.alpha.rpm
./updates.redhat.com/7.1/en/os/alpha/XFree86-4.1.0-15.alpha.rpm
...(中略)
./updates.redhat.com/7.1/en/os/alphaev6
./updates.redhat.com/7.1/en/os/alphaev6/.listing
./updates.redhat.com/7.1/en/os/alphaev6/glibc-2.2.4-24.alphaev6.rpm
./updates.redhat.com/7.1/en/os/athlon
./updates.redhat.com/7.1/en/os/athlon/.listing
./updates.redhat.com/7.1/en/os/athlon/kernel-2.4.9-31.athlon.rpm
./updates.redhat.com/7.1/en/os/athlon/kernel-smp-2.4.9-31.athlon.rpm
./updates.redhat.com/7.1/en/os/i386
./updates.redhat.com/7.1/en/os/i386/.listing
./updates.redhat.com/7.1/en/os/i386/LPRng-3.7.4-23.i386.rpm
./updates.redhat.com/7.1/en/os/i386/Mesa-3.4.2-10.i386.rpm
./updates.redhat.com/7.1/en/os/i386/Mesa-demos-3.4.2-10.i386.rpm
./updates.redhat.com/7.1/en/os/i386/Mesa-devel-3.4.2-10.i386.rpm
./updates.redhat.com/7.1/en/os/i386/SysVinit-2.78-17.i386.rpm
./updates.redhat.com/7.1/en/os/i386/XFree86-100dpi-fonts-4.1.0-15.i386.rpm
...(後略)


なお、
再度同じディレクトリで wget -m ftp://updates.redhat.com/7.1/en/ を実行すると、
更新されていないファイルは取得されませんので、
無駄なトラフィックや負荷をかけることはありません。
(実行すると、次のように not retrieving. と表示されます。)

# wget -m ftp://updates.redhat.com/7.1/en/
--03:20:34--  ftp://updates.redhat.com/7.1/en/
           => `updates.redhat.com/7.1/en/.listing'
updates.redhat.com:21 に接続しています... 接続しました!
anonymous としてログインしています... ログインしました!
==> TYPE I ... 完了しました。  ==> CWD 7.1/en ... 完了しました。
==> PORT ... 完了しました。    ==> LIST ... 完了しました。

    0K ->

03:20:43 (41.67 KB/s) - `updates.redhat.com/7.1/en/.listing' を保存しました [128]

--03:20:43--  ftp://updates.redhat.com/%2F7.1/en/os/
           => `updates.redhat.com/7.1/en/os/.listing'
==> CWD /7.1/en/os ... 完了しました。
==> PORT ... 完了しました。    ==> LIST ... 完了しました。

    0K ->

03:20:47 (169.43 KB/s) - `updates.redhat.com/7.1/en/os/.listing' を保存しました [694]

--03:20:47--  ftp://updates.redhat.com/%2F7.1/en/os/SRPMS/
           => `updates.redhat.com/7.1/en/os/SRPMS/.listing'
==> CWD /7.1/en/os/SRPMS ... 完了しました。
==> PORT ... 完了しました。    ==> LIST ... 完了しました。

    0K -> ........

03:20:49 (13.23 KB/s) - `updates.redhat.com/7.1/en/os/SRPMS/.listing' を保存しました [8225]

Server file no newer than local file `updates.redhat.com/7.1/en/os/SRPMS/LPRng-3.7.4-23.src.rpm' -- not retrieving.

Server file no newer than local file `updates.redhat.com/7.1/en/os/SRPMS/Mesa-3.4.2-10.src.rpm' -- not retrieving.

Server file no newer than local file `updates.redhat.com/7.1/en/os/SRPMS/SysVinit-2.78-17.src.rpm' -- not retrieving.

Server file no newer than local file `updates.redhat.com/7.1/en/os/SRPMS/XFree86-4.1.0-15.src.rpm' -- not retrieving.

Server file no newer than local file `updates.redhat.com/7.1/en/os/SRPMS/XFree86-Servers-3.3.6-38.src.rpm' -- not retrieving.

Server file no newer than local file `updates.redhat.com/7.1/en/os/SRPMS/XFree86-compat-libs-4.0.3-2.src.rpm' -- not retrieving.




■ UNIX のコマンド についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。