potatoメモ
Apacheの標準的なインストール
configureスクリプトのヘルプ
ログファイルの分析 wwwstat
ログファイルの分析 Web Statistics
ログファイルの分析 SiteServerExpress 1
ログファイルの分析 SiteServerExpress 2
potatoのインストールと運用
バーチャルホストの設定
potatoのインストール
指定されたURLと、そのページにリンクされたページをまるごとダウンロードすることができるツールがあります。検索エンジンが送り込んでくるいわゆるロボットと同じ働きをします。こうしたツールには、httpdown、webcopyなどたくさんあるようですが、ここでは、Ryo2さんの作品でperlのスクリプトのpotatoを紹介します。
Ryo2の部屋
http://www.on.rim.or.jp/~ryo2/
Ryo2さんのHP内のプログラム集のページ
http://www.on.rim.or.jp/~ryo2/fsw.html
webcopy
webcopy.tgz
MaczukaのページのBatch-Fetch-Recursive
http://www.jsdi.or.jp/~maczuka/programs/index.html
伊藤一光(Maczuka)さんのBatch-Fetch-Recursive 類似ツールの機能比較
http://www.jsdi.or.jp/~maczuka/programs/compare-tools.txt
httpdown
httpdown作者(熊谷さん)のページにはそのほかにもたくさんのソフトが公開されています。
http://www.mechatronics.mech.tohoku.ac.jp/~kumagai/bins/kuma/httpdown30.html
油谷 龍志郎(ABRAYER Rewsirow)さんのWWWcp
http://www.ff.iij4u.or.jp/~rewsirow/WWWcp/WWWcp
httpdown(や同種のプログラム)は慎重に使ってくださいキャンペーン
http://fml.ec.tmit.ac.jp/~tsumura/nomore-httpdown.html
potatoをhttp://www.on.rim.or.jp/~ryo2/fsw.htmlからダウンロードします。最新バージョンは「1.9」(2000年1月6日現在)。Linux(にかぎらないが)に転送したら解凍します。
$ tar zxvf potato-current.tar.gz
potato-1.9/
potato-1.9/potato.in
potato-1.9/potato.man
potato-1.9/potato.jman
potato-1.9/potato.txt
potato-1.9/wpotato.diff
potato-1.9/Install
$
「potato-1.9」というディレクトリが作られ、ファイルが解凍されます。インストールそのものは簡単で、「potato-1.9」にある「Install」を実行するだけです。ただし、potatoはperlのスクリプトであるため、perlがインストールされている必要があります。
perlがインストールされているかどうかは、whichかwhereisコマンドで確認します。
$ which perl
/usr/bin/perl
$ whereis perl
perl: /usr/bin/perl5.00404 /usr/bin/perl /usr/man/man1/perl.1
$
また、potatoはperl Version4とVersion5の両方に対応しているようですが、Version4では動作させるために、いくつか手順が必要なようです。ここでは、RedHat5.1ベースの環境でインストールしています。Versionは5.00404でした。
perlのバージョンを確認するには、「perl -v」を実行します。
$ perl -v
This is perl, version 5.004_04 built for i386-linux
Copyright 1987-1997, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.
$
suコマンドでrootになってから、Installを実行します。「I」は大文字です。
# cd potato-1.9
# ./Install
Please input full path of the command "perl" that you are going to use.
Full path of the perl (default:/usr/bin/perl):
↑ perlのある場所を問い合わせてきます。デフォルトでは、
「usr/bin」(にあるperlという名前のプログラム)になっ
ています。そのままでよければ、リターンキーを押します。
違う場所や名前なら、「/usr/sbin/perl」のようにフルパス
で間違えないように入力します。
Please input the directory to install potato.
Install directory (default:/usr/local/bin):
↑ potatoをインストールするディレクトリを問い合わせてきま
す。デフォルトでは、「usr/local/bin」になっています。
そのままでよければ、リターンキーを押します。違う場所に
インストールする場合には、「/usr/bin」のようにディレク
トリ名を間違えないように入力します。
Please input the directory to install man page.
(but don't include the directory name man1 - mann)
Install directory (default:/usr/local/man):
↑ potatoのマニュアル(manコマンドのファイル)をインストー
ルするディレクトリを問い合わせてきます。デフォルトでは、
「usr/local/man」になっています。そのままでよければ、リ
ターンキーを押します。違う場所にインストールする場合には、
「/usr/man」のようにディレクトリ名を間違えないように入力
します。
"potato potato.man" were installed successfully.
#
以上でインストールは完了です。
potatoの使い方はかなり簡単です。基本的には、
$ potato http://www.hyperdyne.co.jp/ /home/oohashi/public_html/www.hyperdyne.co.jp/
のように、「potato<半角スペース>http://で始まったURL<半角スペース>ダウンロード先のディレクトリ名」とします。ダウンロード先のディレクトリはあらかじめ作っておく必要はなく、存在しなければ、ダウンロードを開始する前にディレクトリを作るかどうか問い合わせてきます。
Create /home/search/www.vector.co.jp [y/n]?
yキーを入力するとディレクトリが作られます。
もしディレクトリを指定しなければ、カレントディレクトリ(コマンドを実行しようとしているディレクトリ)にダウンロードします。
potatoは、プロキシなどにも対応し、いくつかのオプションが用意されています。
| ダウンロードするファイルの指定 |
| -A | potatoは、デフォルトでは「.htm」や「.html」などのテキストファイルだけをダウンロードしますが、このオプションを付けると、画像ファイルなども含めてまるごとダウンロードしようとします。慣れないうちは使わないほうが無難です。 |
| -a | 拡張子が「.lzh」「.zip」「.tar」「.gz」「.tgz」「.taz」「.Z」「.z」「.arc」「.zoo」「.exe」「.hqx」「.Hqx」「.sea」「.sit」などは、アーカイブ(複数のファイルをひとつにまとめたもの)、圧縮ファイル、実行ファイルなどです。それらのファイルもダウンロードしたいときに、このオプションを付けます。 |
| -c | ダウンロード先のホームページによっては、CGIを使っている場合があります。中には、かなりのページをCGIを使って動的に構成している場合もありますが、それをも対象とするためのオプションです。よほどWebの世界に慣れているという場合を除いて、使ってはいけないオプションだと思ったほうがいいでしょう。最悪の場合、相手のサーバをダウンさせます。 |
| -i | 拡張子が「.gif」「.GIF」「.jpg」「.jpeg」「.JPG」「.ps」「.PS」「.tif」「.tiff」「.png」「.pic」「.tga」「.xbm」「.xgm」「.xpm」になっている画像ファイルもダウンロードする場合に使うオプションです。 |
| -I EXT1,..,EXTn | potatoは、デフォルトでは拡張子「.htm」「.html」などしかダウンロードしないようになっています。追加したい拡張子を「,」(カンマ)か「|」で区切って指定します。 |
| すでに一度以上ダウンロードしているファイルの指定 |
| -g N | ローカルファイルキャッシュに関する設定です。一度でもpotatoを実行するとローカルにダウンロードしたファイルが存在することになります。時間がたって、あらためてダウンロードするとき、過去のデータをいったんすべて削除してからもう一度実行してもいいのですが、変更されたファイルだけをダウンロードしたほうがムダがありません。そのためのオプションです。
N: 0=ローカルファイルキャッシュをしません
1=対象となっているWebサーバ上のファイルの最終変更時刻とローカルにあるファイルのタイムスタンプを比較して、Webサーバ側のファイルが新しい場合だけファイルを更新します
2=Webサーバ上のファイルとローカルファイルのサイズを比較し、異なっている場合だけファイルを更新します
3=Webサーバ上のファイルとローカルファイルのタイムスタンプとサイズを比較して、どちらかが同じならローカルにあるファイルをキャッシュします
4=同じ名前のファイルがローカルにあるとき、変更時刻、サイズに関係なくダウンロードを中止して、キャッシュします |
| その他の指定 |
| -p http://サーバ名:ポート番号 | プロキシサーバを使うときに、その名前とポート番号を指定します。 |
| -P "サーバ名1,サーバ名2,.." | 原則的にはプロキシサーバ経由でアクセスするが、例外的にプロキシサーバを経由しないサーバがあった場合にこのオプションで指定します。 |
| -r N(0以上の整数) | デフォルトでは、リンクされていて、指定したURLより下層に位置するディレクトリ内のファイルがすべて対象になりますが、ここで数値で指定すると、その指定した階層より下のディレクトリのファイルはダウンロードしなくなります。 |
| -q | potatoを実行すると進行状況が表示されますが、このオプションを付けると表示されなくなります。 |
| -x ファイル名 | Webサーバでは、「http://www.hyperdyne.co.jp/index.html」のようにファイル名まできっちり指定していなくても、あらかじめ決められた名前のファイルがデフォルトとして想定されていて、そのファイル名が指定されたものとしてWebサーバは応えるようになっています。ほとんどの場合が「index.html」か「index.htm」ですが、たとえばWindowsNTの標準WebサーバIISでは、「Default.htm」がデフォルトになっています。Webサーバ(とその設定)によってデフォルトのファイル名が違っている可能性が発生し、その結果、対象とするWebサイトとダウンロードしたファイルの名前が違ってしまう場合があります。このオプションを使うとデフォルトのファイル名を一時的に変更することができます。 |
| -y ユーザ名:パスワード | ページによっては、ユーザ名とパスワードが求められ、正しく応えないとそのページが表示されません。ここで設定しておくと、問い合わせがあったときに、指定したユーザ名とパスワードで応えるようになります。 |
| -h | potatoのヘルプが表示されます。 |
|