ホーム > 各種ソフトウェア > Linuxツール(+UNIXツール)  >

 mirror

mirror

自動的にFTPを利用してミラーリング(ダウンロードやアップロード)するツール。cronと組み合わせれば、自動アップロードや自動ダウンロードが簡単にできる。

[ダウンロード]

まず、mirrorをダウンロードします。

http://sunsite.org.uk/packages/mirror/  ←(sunの場合)

RedHat系の場合は、rpmがFTP鯖にあるので、そちらからダウンロードしてください。
その場合の設定ファイルのパスは /usr/doc/mirro-X.X.X/mirror.defaults にあるらしい。

 以下ではSunで一般ユーザIDでmirror設定した場合について書いていきます。

ダウンロードしたファイルの解凍を行います。

gtar -xvzf mirror.tgz

すると、展開したmirrorディレクトリの中にinstall.plがあるので、それを実行。

perlの場所とかを聞いてきますが、画面にしたがってパスを設定すればインストール完了。

(詳しい説明は展開したディレクトリにHTMLファイルで書いてあります。)

 

[導入]

mirrorディレクトリの中にmirror.defaultsというファイルがあるのですが、それを書き換えて設定していきます。このファイルは他人に見られないようにモードチェンジしておきましょう。

ローカルコンピュータのディレクトリに含まれるデータ群を、リモートサーバにアップロードするためのmirror.defaultsファイル内の設定例

#auto upload(mirror.defaults)

package=defaults

        comment=my mirror

        local_ignore=(^|/)(\.mirror|\*.bak)$

        site=www.pikopiko.ac.jp

        remote_dir=/users/aho

        remote_user=user_name

        remote_password=your_password

        local_dir=/home/aho/HTML

        dir_mode=0755

        file_mode=0744

        update_log=.mirror

package=www

        comment=Upload WWW contents

        get_file=false

        get_newer=false

package=defaults:mirrorを実行したときのデフォルト値を設定する。個別のmirror先に対しての指定は、別のpackage内に記述する。

comment=my mirror:コメントを書く。別にログファイルに書かれるわけでもないので、書きたい人は書く程度で。

local_ignore=(^|/)(\.mirror|\*.bak)$:FTPでアップロードもしくはダウンロードしたくないファイルを指定する。例ではログファイルの.mirrorファイルとバックアップファイル*.bakをアップロードしないように指定している。

site=www.pikopiko.ac.jp:アップロードもしくはダウンロードするリモートサーバのアドレスを指定する。

remote_dir=/users/aho:リモートサーバにおいてミラーリングしたいディレクトリ。この例の場合/usrs/ahoディレクトリ内をミラーリングするように指定しています。

remote_user=user_name:リモートサーバに繋ぐ時のユーザーIDを書き込む。

remote_password=your_password:リモートサーバに繋ぐ時のパスワードを書き込む。

local_dir=/home/aho/HTML:ローカルディレクトリでミラーリングするディレクトリを指定する。この例の場合/home/aho/HTMLディレクトリ内をミラーリングするように指定している。

dir_mode=0755:リモートのディレクトリにあって、ローカルにディレクトリがない場合にローカルにディレクトリを指定モードで作成する。この例の場合は、755で指定してある。

file_mode=0744:リモートにあって、ローカルにファイルがない場合にローカルにファイルを指定モードで作成する。この例の場合は、744で指定してある。

update_log=.mirror:ログファイルの名前を指定する。ログファイルはミラーリングするディレクトリに作成される。

package=www:mirrorを実行したときの個別のミラーリング先に対する設定する。複数ある場合は、複数のpackageを用意する。名前は任意。

comment=Upload WWW contents:コメントを書く。別にログファイルに書かれるわけでもないので、書きたい人は書く程度で。

get_file=false:trueならばリモートディレクトリの中身をローカルディレクトリにミラーリングする(ダウンロード)。falseならば、ローカルディレクトリの内容をリモートディレクトリにミラーリングする(アップロード)。

get_newer=false:trueの場合はリモートディレクトリにあって、ローカルディレクトリにファイルがない場合は、ダウンロードする。デフォルトがfalseなので特に書かなくて良し。

[実行]

実行は簡単です。mirror.defaultsファイルに設定したパッケージ内容を全部実行する場合にはオプション無しで実行。

mirror

複数のパッケージの中から一つだけ動かす場合には、-cオプションを付ける。例えば以下のようにする。

mirror -pwww

update_logを指定してあれば.mirrorファイルがアップロードする最上位ディレクトリに作られる。

.mirrorファイルに出力されたlogの例を以下に示しておきます。アップロードするファイルのあるディレクトリに保存されているはずです。

mirroring www (www.pikopiko.ac.jp:/users/aho) completed successfully @ 31 Dec 102 18:04

Put index.html 10363 bytes

Put finance/equity/index.html 2597 bytes

Put finance/equity/fcf/index.html 3605 bytes

Put learning/learning/mecheng/bem/laplace/images/index_html_eqn11.gif 300 bytes

細かな設定をしたい方は、mirror.tgzの中に詳細な説明があるので読んでください。


参考URL

http://www9.big.or.jp/~matty/linux/tips/

http://plaza17.mbn.or.jp/~chi/FreeBSD/HowTo/mirror/install.html

http://www.zdnet.co.jp/help/tips/linux/l0518.html

http://www.tim.hi-ho.ne.jp/yutakano/memo/mirror.html


 Copyright (C) 2001- Keisuke ABE. All Rights Reserved.