プロキシサーバーには、いくつかのコマンド行ユーティリティーが付属しており、これを使用してキャッシュのディレクトリ構造を設定、変更、生成、および修正することができます。これらのユーティリティーの大半は、サーバーマネージャーの各ページの機能と重複しています。たとえば、cron ジョブとして保守をスケジュールする必要がある場合に、ユーティリティーを使用することもできます。すべてのユーティリティーは extras ディレクトリにあります。
コマンド行プロンプトから server_root /proxy-serverid ディレクトリに移動します。
./start -shell と入力します。
次の節では各種のユーティリティーについて説明します。
cbuild と呼ばれるプロキシユーティリティーは、オフラインでキャッシュデータベースを管理します。このユーティリティーを使用すると、コマンド行インタフェースを使用して新しいキャッシュ構造を作成したり、既存のキャッシュ構造を変更することができます。サーバーマネージャーのページを使用して、プロキシで新しく作成されたキャッシュを使用できるようにすることができます。
このユーティリティーは server.xml ファイルを更新しません。 cbuild は複数のパーティションを持つキャッシュのサイズを変更できません。cbuild でキャッシュを作成または変更する場合、server.xml ファイルの cachecapacity パラメータを手動で更新してください。
<PARTITION partitionname="part1" partitiondir="/home/build/install9 /proxy-server1/cache" maxsize="1600" minspace="5" enabled="true"/> <CACHE enabled="true" cachecapacity="2000" cachedir="/tmp/cache">
cbuild ユーティリティーは 2 つのモードで起動できます。1 つ目のモードは次のとおりです。
cbuild -d conf-dir -c cache-dir -s cache size cbuild -d conf-dir -c cache-dir -s cache size -r
次に例を示します。
cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -s 512 cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -s 512 -r
ここで
conf-dir は server_root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
cache-dir はキャッシュ構造のディレクトリ。
cache size はキャッシュの最大サイズ。このオプションは cache-dim パラメータと一緒に使用できません。最大サイズは 65135 M バイトです。
-r は、単一パーティション構成の場合、既存のキャッシュ構造のサイズを変更します。新しいキャッシュを作成する場合は必要ありません。
2 つ目のモードは次のとおりです。
cbuild -d conf-dir -c cache-dir -n cache-dim cbuild -d conf-dir -c cache-dir -n cache-dim -r
次に例を示します。
cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -n 3 cbuild -d server_root/proxy-serverid/config -c server_root/proxy-serverid/cache -n 3 -r
ここで
conf-dir は server_root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
cache-dir はキャッシュ構造のディレクトリ。
cache-dim はセクション数を指定します。たとえば、図 12–2の s3.4 として示されるセクションでは、3 は次元を示します。cache-dim のデフォルト値は 0 で、最大値は 8 です。
-r は、単一パーティション構成の場合、既存のキャッシュ構造のサイズを変更します。このオプションは、新しいキャッシュを作成する場合は必要ありません。
プロキシユーティリティー urldb はキャッシュ内の URL リストを管理します。このユーティリティーを使用して、キャッシュされる URL を一覧表示することができます。また、キャッシュされたオブジェクトを選択して有効期限切れにしたり、キャッシュデータベースから削除することができます。
urldb コマンドは -o オプションに基づいて 3 つのグループに分類できます。
ドメイン
サイト
URL
ドメインを一覧表示するには、コマンド行で次のコマンドを入力します。
urldb -o matching_domains -e reg-exp -d conf-dir
次に例を示します。
urldb -o matching_domains -e “.*phoenix.*” -d server-root/proxy-serverid/config
ここで
matching_domains は正規表現に一致するドメインを一覧表示します。
reg-exp は使用する正規表現。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
ドメイン内で一致するサイトをすべて一覧表示するには、コマンド行で次のように入力します。
urldb -o matching_sites_in_domain -e reg-exp -m domain_name -d conf-dir
次に例を示します。
urldb -o matching_sites_in_domain -e “.*atlas” -m phoenix.com -d server-root/proxy-serverid/config
ここで
matching_sites_in_domain は正規表現に一致するドメイン内のすべてのサイトを一覧表示します。
reg-exp は使用する正規表現。
domain_name はドメインの名前。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
一致するサイトをすべて一覧表示するには、コマンド行で次のように入力します。
urldb -o all_matching_sites -e reg-exp -d conf-dir
次に例を示します。
urldb -o all_matching_sites -e “.*atlas.*” -d server-root/proxy-serverid/config
ここで
all_matching_sites は、正規表現に一致するすべてのサイトを一覧表示します。
reg-exp は使用する正規表現。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
サイト内で一致する URL を一覧表示するには、コマンド行で次のように入力します。
urldb -o matching_urls_from_site -e reg-exp -s site_name -d conf-dir
次に例を示します。
urldb -o matching_urls_from_site -e “http://.*atlas.*” -s atlas.phoenix.com -d server-root/proxy-serverid/config
ここで
matching_urls_from_site は、正規表現に一致するサイトのすべての URL を一覧表示します。
reg-exp は使用する正規表現。
site_name はサイトの名前。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
ディレクトリにないことがあります。
サイト内で一致する URL を有効期限切れまたは削除するには、コマンド行で次のように入力します。
urldb -o matching_urls_from_site -e reg-exp -s site_name -x e -d conf-dir urldb -o matching_urls_from_site -e reg-exp -s site_name -x r -d conf-dir
次に例を示します。
urldb -o matching_urls_from_site -e “http://.*atlas.*” -s atlas.phoenix.com -x e -d server-root/proxy-serverid/config
ここで
matching_urls_from_site は、正規表現に一致するサイトのすべての URL を一覧表示します。
reg-exp は使用する正規表現。
site_name はサイトの名前。
-x e はキャッシュデータベースで一致する URL を有効期限切れにするオプション。このオプションは、ドメインモードおよびサイトモードでは使用できません。
-x r は、キャッシュデータベースで一致する URL を削除するオプション。
conf-dir は、プロキシインスタンスの設定ディレクトリ。これは server-root /proxy-serverid/config ディレクトリにあります。
一致する URL をすべて一覧表示するには、コマンド行で次のように入力します。
urldb -o all_matching_urls -e reg-exp -d conf-dir
次に例を示します。
urldb -o all_matching_urls -e “.*cgi-bin.*” -d server-root/proxy-serverid/config
ここで
all_matching_urls は、正規表現に一致するすべての URL を一覧表示します。
reg-exp は使用する正規表現。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ
一致する URL をすべて有効期限切れまたは削除するには、コマンド行で次のように入力します。
urldb -o all_matching_urls -e reg-exp -x e -d conf-dir urldb -o all_matching_urls -e reg-exp -x r -d conf-dir
次に例を示します。
urldb -o all_matching_urls -e “.*cgi-bin.*” -x e -d server-root/proxy-serverid/config
ここで
all_matching_urls は、正規表現に一致するすべての URL を一覧表示します。
reg-exp は使用する正規表現。
-x e は、キャッシュデータベースで一致する URL を有効期限切れにするオプション。
-x r は、キャッシュデータベースで一致する URL を削除するオプション。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ
URL のリストを期限切れまたは削除するには、コマンド行に次のコマンドを入力します。
urldb -l url-list -x e -e reg-exp -d conf-dir urldb -l url-list -x r -e reg-exp -d conf-dir
次に例を示します。
urldb -l url.lst -x e -e “.*cgi-bin.*” -d server-root/proxy-serverid/config
ここで
url-list は有効期限切れにする必要がある URL のリストです。 このオプションを使用して、URL リストを表示できます。
-x e は、キャッシュデータベースで一致する URL を有効期限切れにするオプション。
-x r は、キャッシュデータベースで一致する URL を削除するオプション。
reg-exp は使用する正規表現。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
cachegc ユーティリティーを使用すると、キャッシュデータベースにある有効期限切れのオブジェクト、または古くなりすぎてキャッシュサイズの制約によりディレクトリにキャッシュできなくなったオブジェクトを消去できます。
cachegc ユーティリティーを使用する場合は、プロキシインスタンスで CacheGC が実行されていないことを確認してください。
cachegc ユーティリティーは、次のように使用します。
cachegc -f leave-fs-full-percent -u gc-high-margin-percent -l gc-low-margin-percent -e extra-margin-percent -d conf-dir
次に例を示します。
cachegc -f 50 -u 80 -l 60 -e 5 -d server-root/proxy-serverid/config
ここで
leave-fs-full-percent は、ガベージコレクションが実行されない範囲のキャッシュパーティションサイズの割合を決定します。
gc-high-margin-percent は、最大キャッシュサイズの割合を制御します。その割合に達するとガベージコレクションが開始されます。
gc-low-margin-percent はガベージコレクタがターゲットとする最大キャッシュサイズの割合を制御します。
extra-margin-percent は、削除するキャッシュの割合を決定するために、ガベージコレクタによって使用されます。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。
bu ユーティリティーはキャッシュを更新し、2 つのモードで動作します。1 つ目のモードでは、キャッシュデータベース内を反復し、それぞれに HTTP 要求を送信することで、キャッシュ内に存在するすべての URL を更新します。2 つ目のモードでは、指定された URL から開始し、その URL から指定する深さまでのすべてのリンクに対して幅優先の反復を行い、キャッシュにページをフェッチします。bu は RFC 準拠のロボットです。
bu -n hostname -p port -t time-lmt -f contact-address -s sleep-time -o object -r n -d conf-dir
次に例を示します。
bu -n phoenix -p 80 -t 3600 -f admin@phoenix.com -s 60 -o nova -r n -d server-root/proxy-serverid/config
ここで
hostname は、プロキシが稼働しているマシンのホスト名。デフォルト値は localhost。
port はプロキシサーバーが稼働しているポート。デフォルトのポートは 8080 です。
time-lmt はユーティリティーが実行される制限時間。
contact-address は、bu から送信される HTTP 要求で送信される連絡先アドレスを指定します。デフォルト値は worm@proxy-name です。
sleep-time は 2 つの連続する要求の間のスリープ時間。デフォルト値は 5 秒です。
object は現在実行している bu.conf で指定されるオブジェクト。
-r n オプションは、-robot.txt ポリシーに従うかどうかを指定します。デフォルト値は y です。
conf-dir は server-root /proxy-serverid/config ディレクトリにあるプロキシインスタンスの設定ディレクトリ。