|
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.htmlhttp://www.tim.hi-ho.ne.jp/yutakano/memo/mirror.html
Copyright (C) 2001- Keisuke ABE. All Rights Reserved.