<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--#config errmsg="ERROR! Please try reload once again."-->
<!--#config timefmt="%A, %x %X (%Z)"-->
<!--#config sizefmt="bytes"-->
<HTML>
<HEAD>
<TITLE>ARTN Solaris user support : ランダムグラフィックカウンタ</TITLE>
<!--BASE HREF="http://www.artn.co.jp/"-->
<BASE target="_top">
<LINK REV="made" HREF="mailto:webmaster@artn.co.jp">
<META NAME="Expires" CONTENT="">
<META NAME="Keywords" CONTENT="AccessCounter , AccessLog , SSI , ランダムアクセスカウンタ , カウンタログ解析">
<META NAME="Description" CONTENT="ARTN Solaris user support : AccessCounter and Accesslog. SSI(Server Side Include).">
<META NAME="Reply-to" CONTENT="webmaster@artn.co.jp">
<META NAME="IndexType" CONTENT="">
<!--META HTTP-EQUIV="Refresh" CONTENT="180;URL=timetrip/timetrip.html"-->
</HEAD>

<BODY BGCOLOR="#ffffff" TEXT="#000000" LINK="#ff00ff" VLINK="#ff0000" ALINK="#00ff00" BACKGROUND="">
<BASEFONT SIZE=3>

<H1 align="center"><FONT color="#5a00ff">ランダムグラフィックカウンタ</FONT></H1>
<DIV align="center">

<TABLE cellspacing="0" cellpadding="5">

  <TR>
    <TD NOWRAP><SAMP>&lt;!--#exec cmd=&quot;./count.ksh&quot;--&gt;</SAMP></TD><TD ALIGN="right" NOWRAP><!--#exec cmd="./count.ksh"--></TD>
  </TR>
  <TR>
    <TD NOWRAP><SAMP>&lt;!--#exec cmd=&quot;./count.ksh 8&quot;--&gt;</SAMP></TD><TD ALIGN="right" NOWRAP><!--#exec cmd="./count.ksh 8"--></TD>
  </TR>
</TABLE>

</DIV>
<HR align="center" size="3" width="70%">
<H2 align="center"><FONT color="#5a00ff">特徴</FONT></H2>
<OL>
  <LI>ランダムグラフィックカウンタ : <SAMP>&lt;!--#exec cmd=&quot;./count.ksh [lengs] [rand]&quot;--&gt;</SAMP>
  <UL>
    <LI>Korn シェルで作成した、グラフィックイメージをランダムに呼び出すカウンタです。コマンドが実行された数に応じた
IMG タグを呼び出し、ログデータファイル <CODE>logdata.${DOCUMENT_NAME}.file</CODE> にコマンド実行の情報を記入します。
    <LI>カウント数保持ファイル <CODE>no.${DOCUMENT_NAME}.file</CODE>、ログデータファイル <CODE>logdata.${DOCUMENT_NAME}.file</CODE>、ロックファイル名保持ファイル <CODE>countlockfile.${DOCUMENT_NAME}.file</CODE> は、Web ページ毎に作成されるため、複数の Web ページにカウンタを設置することができます。これらのファイルが、カレントディレクトリに存在しない場合は、本スクリプトは自動的にこれらのファイルを作成します。従って、新規 Web にカウンタを設置する場合、その Web ページに、 <SAMP>&lt;!--#exec cmd=&quot;./count.ksh [lengs] [rand]&quot;--&gt;</SAMP> と記入するだけで準備が完了します。
    <LI>デフォルトで、6桁、10種類のイメージファイルを呼び出します。
    <LI>カウンタは、引数を指定することにより、桁数、ランダムに呼び出すイメージの種類数を指定できます。
  </UL>
  <LI>カウンタログ解析 : <SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh [-dtha] [-n num] [file....]&quot;--&gt;</SAMP>
  <UL>
    <LI><A href="acs_stat.html">acs_stat.html</A> ファイルから、count.ksh コマンドが作成したログデータファイル logdata.${DOCUMENT_NAME}.file を解析して、日付別アクセス明細、時刻別アクセス明細、ドメイン別アクセスランキング、アクセス明細を表示することが出来ます。
    <LI>オプションを指定しない場合は、デフォルトで、日付別アクセス明細、時刻別アクセス明細、ドメイン別アクセスランキング、アクセス明細（最大表示件数:100）の順で、全ての明細を表示します。
    <LI>ログデータファイル名を指定しない場合は、カレントディレクトリに存在する全てのログデータファイルの明細を順次表示します。
    <LI>カウンタログ解析は、オプションを指定することにより、表示明細を指定することが出来ます。
  </UL>
</OL>
<HR align="center" size="3" width="70%">
<H2 align="center"><FONT color="#5a00ff">インストールの方法</FONT></H2>
<P>
インストール作業を自動化しています。
</P>
<OL>
  <LI><CODE><A href="count.tar">count.tar</A></CODE> ファイルをダウンロードして下さい。
  <LI>カウンタを置きたいディレクトリに count.tar ファイルを転送して下さい。（転送モード
binary）
  <LI>telnet でログインして下さい。
  <LI>カウンタを設置したいディレクトリに count.tar を置き、<BR>
<KBD>tar -xvf count.tar</KBD> と入力して下さい。
  <LI><KBD>./config.sh</KBD> と入力して下さい。自動的にカウンタとアクセスログ解析及びその他必要ファイルがインストールされます。
  <LI>後は、カウンタを設置するファイルに &lt;!--#exec cmd=&quot;./count.ksh&quot;--&gt;
と記入すれば、OK です。
</OL>
<HR align="center" size="3" width="70%">
<H2 align="center"><FONT color="#5a00ff">インストールされるファイル</FONT></H2>
<P>
<KBD>./config.sh</KBD> と入力することにより、カレントディレクトリに以下のファイルのインストールと設定が行われます。
</P>
<DL>
  <DT><DFN><A href="test_count.html">test_count.html</A></DFN>
  <DD>テスト用ランダムアクセスカウンタ呼び出しファイル。<BR>
<SAMP>&lt;!--#exec cmd=&quot;./count.ksh&quot;--&gt;</SAMP> と記入。
  <DT><DFN>count.ksh</DFN>
  <DD>ランダムグラフィックカウンタスクリプト。<BR>
<KBD>chmod 5711 count.ksh</KBD>
  <DT><DFN>no.${DOCUMENT_NAME}.file</DFN>
  <DD>カウント数保持ファイル。<BR>
count.ksh スクリプトが自動作成します。<BR>
<KBD>chmod 600 no.${DOCUMENT_NAME}.file</KBD>
  <DT><DFN>logdata.${DOCUMENT_NAME}.file</DFN>
  <DD>ログデータファイル。<BR>
count.kshスクリプトが自動作成します。<BR>
<KBD>chmod 600 logdata.${DOCUMENT_NAME}.file</KBD>
  <DT><DFN>countlockfile.${DOCUMENT_NAME}.file</DFN>
  <DD>ロックファイル名保持ファイル。<BR>
count.kshスクリプトが自動作成します。<BR>
<KBD>chmod 600 countlockfile.${DOCUMENT_NAME}.file</KBD>
  <DT><DFN>rmcountlock</DFN>
  <DD>ロックファイル手動削除スクリプト。<BR>
<KBD>chmod 700 rmcountlock</KBD>
  <DT><DFN>count_images/<BR>
　├ 0a.gif - 9a.gif<BR>
　│　│<BR>
　└ 0j.gif - 9j.gif</DFN>
  <DD>カウントイメージファイル。<BR>
<KBD>mkdir count_images ; chmod 755 count_images ; chmod 644 count_images/??.gif</KBD><BR>
<SAMP>WIDTH=&quot;15&quot; HEIGHT=&quot;20&quot;</SAMP>
  <DT><DFN><A href="acs_stat.html">acs_stat.html</A></DFN>
  <DD>ログ解析スクリプト呼び出しファイル。<BR>
<SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh&quot;--&gt;</SAMP> と記入。
  <DT><DFN>acs_stat.sh</DFN>
  <DD>ログ解析スクリプト。<BR>
<KBD>chmod 5711 acs_stat.sh</KBD>
  <DT><DFN>$HOME/ma</DFN>n/man1/count.ksh.1
  <DD>ランダムグラフィックカウンタスクリプトマニュアル。<BR>
<KBD>man -M $HOME/man count.ksh</KBD> で表示。
  <DT><DFN>$HOME/man/man1/acs_stat.sh.1</DFN>
  <DD>カウンタログ解析スクリプトマニュアル。<BR>
<KBD>man -M $HOME/man acs_stat.sh</KBD> で表示。
</DL>
<P>
<FONT color="ff0000">* <KBD>man -M $HOME/man count.ksh</KBD> 及び、<KBD>man
-M $HOME/man acs_stat.sh</KBD> と入力することで、それぞれのスクリプトのマニュアルを表示することが出来ます。</FONT>
</P>
<HR align="center" size="3" width="70%">
<H2 align="center"><FONT color="#5a00ff">環境</FONT></H2>
<P>
このスクリプトは、SSI(Server Side Includes) で動作します。このスクリプトが動作するには、httpd
の access.confファイル srm.confファイルに適切な設定が必要となります。詳しくは、
httpd のマニュアルをご覧下さい。<BR>
各ディレクトリで制御する場合の ACF ファイル (.htaccess: ディレクトリアクセス制御ファイル)の例を、参考として以下に示します。
</P>
<DL>
  <DT>.htaccessファイルの記述
  <DD><SAMP>Options Includes<BR>
AddType text/x-server-parsed-html .html<BR>
Addtype text/x-server-parsed-html .shtml</SAMP>
</DL>
<HR align="center" size="3" width="70%">
<H2 align="center"><FONT color="#5a00ff">利用規定</FONT></H2>
<OL>
  <LI>著作権表示部分の削除不可。
  <LI>再配布禁止。
  <LI>上記の項目は、修正使用を含みます。
</OL>
<P>
<FONT color="ff0000">* 本スクリプトを無償で使用するにあたり、如何なる責をも当方は負いかねます。
</FONT>
</P>
<HR align="center" size="3" width="70%">
<H2 align="center"><FONT color="#5a00ff">count.ksh 機能説明</FONT></H2>
<UL compact>
  <LI>Web ページに、<CODE>&lt;!--#exec cmd=&quot;./count.ksh [lengs] [rand]&quot;--&gt;</CODE>
と記入することにより、コマンドが実行された数に応じた IMG タグを呼び出し、ログデータファイル <CODE>logdata.${DOCUMENT_NAME}.file</CODE> にコマンド実行の情報を記入する。
  <LI>カウント数保持ファイル <CODE>no.${DOCUMENT_NAME}.file</CODE>、ログデータファイル <CODE>logdata.${DOCUMENT_NAME}.file</CODE>、ロックファイル名保持ファイル <CODE>countlockfile.${DOCUMENT_NAME}.file</CODE>は、 Webページ毎に作成されるため、複数の Webページにカウンタを設置することができます。これらのファイルが、カレントディレクトリに存在しない場合は、本スクリプトは自動的にこれらのファイルを作成します。従って、新規 Webにカウンタを設置する場合、その Webページに、 <CODE>&lt;!--#exec cmd=&quot;./count.ksh [lengs] [rand]&quot;--&gt;</CODE>と記入するだけで準備が完了します。
  <LI>カウンタの桁数 [lengs] を指定しない場合は、デフォルトで 6 桁表示となります。
  <LI>乱数の数 [rand] を指定しない場合は、デフォルトで 10 種類のイメージファイルをランダムに呼び出します。
</UL>
<H3><FONT color="#5a00ff">オペランド</FONT></H3>
<DL>
  <DT><DFN>lengs</DFN>
  <DD>カウンタの桁数を指定します。カウンタの桁数は、最小桁数 1 から 50 までの範囲で選択する事ができます。カウンタの桁数を指定しない場合は、デフォルトで
6 桁となります。
</DL>
<DL>
  <DT><DFN>rand</DFN>
  <DD>ランダムに呼び出すカウントイメージ数を指定します。ランダムに呼び出されるカウントイメージは、
1 （カウントイメージ固定）から 10 までの範囲でカウントイメージ数を選択することができます。ランダムに呼び出すカウントイメージを指定しない場合は、デフォルトで
10 種類のイメージファイルをランダムに呼び出します。 カウントイメージ固定にした場合、デフォルトで
?a.gif が使用されます。デフォルトイメージを変更したい場合は、 count.ksh
スクリプト内の <VAR>default_image</VAR> 変数の値を変更して下さい。指定できる値は、
a から j までです。
</DL>
<H3><FONT color="#5a00ff">診断</FONT></H3>
<P>
このスクリプトは、ロックファイル、テンポラリーファイル、割り込み処理の手続きを行うことにより、トラブルを最小限に押さえています。カウントファイル、ログファイルへの複数のユーザによる同時記入を防止する為、本スクリプトはロックファイルを作成します。ロックファイルが存在する場合、本スクリプトは 1 分間に 60 回の試行を試みます。それでも、記入することができない場合、
<SAMP>I'm busy</SAMP> と表示します。<BR>
しかしながら、 <SAMP>I'm busy</SAMP> が続く場合は、予期せぬトラブルにより、（先ず無いと思いますが）ロックファイルが削除されず、そのまま残っている可能性があります。その場合、ロックファイルを手動で削除する為、 rmcountlock スクリプトを実行して下さい。 countlockfile.${DOCUMENT_NAME}.file に基づいて、カレントディレクトリに存在するカウンタを置いたファイルのロックファイルを全て削除します。
</P>
<H3><FONT color="#5a00ff">使用例</FONT></H3>
<DL>
  <DT><SAMP>&lt;!--#exec cmd=&quot;./count.ksh&quot;--&gt;</SAMP>
  <DD>カウント桁数 6 桁、ランダムに呼び出すカウントイメージ数 10 種類。
  <DT><SAMP>&lt;!--#exec cmd=&quot;./count.ksh 8&quot;--&gt;</SAMP>
  <DD>カウント桁数 8 桁、ランダムに呼び出すカウントイメージ数 10 種類。
  <DT><SAMP>&lt;!--#exec cmd=&quot;./count.ksh '' 5&quot;--&gt;</SAMP>
  <DD>カウント桁数 6 桁、ランダムに呼び出すカウントイメージ数 5 種類。
  <DT><SAMP>&lt;!--#exec cmd=&quot;./count.ksh 12 1&quot;--&gt;</SAMP>
  <DD>カウント桁数 12 桁、ランダムに呼び出すカウントイメージ数 1 種類。
</DL>
<HR align="center" size="3" width="70%">
<H2 align="center"><FONT color="#5a00ff">acs_stat.sh 機能説明</FONT></H2>
<UL>
  <LI>Web ページに、<CODE>&lt;!--#exec cmd=&quot;./acs_stat.sh [-dtha]  [-n  num] [file....]&quot;--&gt;</CODE>
と記入することにより、 count.ksh コマンドが作成したログデータファイル <CODE>logdata.${DOCUMENT_NAME}.file</CODE> を解析して、日付別アクセス明細、時刻別アクセス明細、ドメイン別アクセスランキング、アクセス明細を表示する。
  <LI>オプションを指定しない場合は、デフォルトで、日付別アクセス明細、時刻別アクセス明細、ドメイン別アクセスランキング、アクセス明細（最大表示件数:100）の順で、全ての明細を表示する。
  <LI>ログデータファイル名を指定しない場合は、カレントディレクトリに存在する全てのログデータファイルの明細を順次表示する。
</UL>
<H3><FONT color="#5a00ff">オプション</FONT></H3>
<P>
オプションを指定した場合は、表示明細を指定することができます。その場合、オプションを指定した順序で、明細を表示します。
</P>
<DL>
  <DT><DFN>-d</DFN>
  <DD>日付別アクセス明細を表示する。
  <DT><DFN>-t</DFN>
  <DD>時刻別アクセス明細を表示する。
  <DT><DFN>-h</DFN>
  <DD>ドメイン別アクセスランキングを表示する。
  <DT><DFN>-a</DFN>
  <DD>アクセス明細を表示する。
  <DT><DFN>-n num</DFN>
  <DD>アクセス明細の最大表示件数。<BR>
-aオプションを指定した場合に、 -nオプションを指定して、アクセス明細の最大表示件数を指定することができます。<BR>
numに 1以上の整数を指定して下さい。<BR>
デフォルトの最大表示件数は、 100 です。
</DL>
<H3><FONT color="#5a00ff">オペランド</FONT></H3>
<DL>
  <DT><DFN>file....</DFN>
  <DD>解析するログデータファイル名を指定します。ログデータファイル名は、空白で区切ることにより、複数指定可能です。<BR>
ログデータファイル名を指定しない場合は、デフォルトでカレントディレクトリに存在する全てのログデータファイルの明細を順次表示します。
</DL>
<H3><FONT color="#5a00ff">使用例</FONT></H3>
<DL>
  <DT><A href="acs_stat.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh&quot;--&gt;</SAMP></A>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -dtha -n 100&quot;--&gt;</SAMP>
と同等。<BR>
<SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -d -t -h -a -n 100&quot;--&gt;</SAMP>
と同等。<BR>
日付別アクセス明細、時刻別アクセス明細、ドメイン別アクセスランキング、アクセス明細（最大表示件数:100）の順で、全ての明細を表示する。
  <DT><A href="acs_stat1.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -d&quot;--&gt;</SAMP></A>
  <DD>日付別アクセス明細のみ表示する。
  <DT><A href="acs_stat2.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -hd&quot;--&gt; </SAMP></A>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -h -d&quot;--&gt;</SAMP>
と同等。<BR>
ドメイン別アクセスランキング、日付別アクセス明細の順で、明細を表示する。
  <DT><A href="acs_stat3.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -hadt&quot;--&gt;</SAMP></A>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -hadt -n 100&quot;--&gt;</SAMP>
と同等。<BR>
<SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -h -a -d -t&quot;--&gt;</SAMP>
と同等。<BR>
<SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -h -a -d -t -n 100&quot;--&gt;</SAMP>
と同等。<BR>
ドメイン別アクセスランキング、アクセス明細（最大表示件数:100）、日付別アクセス明細、時刻別アクセス明細の順で、明細を表示する。
  <DT><A href="acs_stat4.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -ad -n 300&quot;--&gt;</SAMP></A>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -a -d -n 300&quot;--&gt;</SAMP>
と同等。<BR>
アクセス明細、日付別アクセス明細の順で、明細を表示する。ただし、アクセス明細の最大表示件数は、 300 件。
  <DT><A href="acs_stat5.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -hadt -n 300&quot;--&gt;</SAMP></A>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -h -a -d -t -n 300&quot;--&gt;</SAMP>
と同等。<BR>
ドメイン別アクセスランキング、アクセス明細、日付別アクセス明細、時刻別アクセス明細の順で、明細を表示する。ただし、アクセス明細の最大表示件数は、 300 件。
  <DT><A href="acs_stat6.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh logdata.index.html.file&quot;--&gt;</SAMP></A>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -dtha -n 100 logdata.index.html.file&quot;--&gt;</SAMP>
と同等。<BR>
<SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -d -t -h -a -n 100 logdata.index.html.file&quot;--&gt;</SAMP>
と同等。<BR>
カレントディレクトリに存在する index.htmlファイルのログデータファイルを解析し、日付別アクセス明細、時刻別アクセス明細、ドメイン別アクセスランキング、アクセス明細（最大表示件数:100）の順で、明細を表示する。
  <DT><A href="acs_stat7.html"><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -hadt -n 300 logdata.index.html.file&quot;--&gt;</SAMP></A>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -h -a -d -t -n 300 logdata.index.html.file&quot;--&gt;</SAMP>
と同等。<BR>
カレントディレクトリに存在する index.htmlファイルのログデータファイルを解析し、ドメイン別アクセスランキング、アクセス明細、日付別アクセス明細、時刻別アクセス明細の順で、明細を表示する。ただし、アクセス明細の最大表示件数は、 300 件。
  <DT><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -hadt -n 300 ../logdata.index.html.file&quot;--&gt;</SAMP>
  <DD><SAMP>&lt;!--#exec cmd=&quot;./acs_stat.sh -h -a -d -t -n 300 ../logdata.index.html.file&quot;--&gt;</SAMP>
と同等。<BR>
親ディレクトリに存在する index.htmlファイルのログデータファイルを解析し、ドメイン別アクセスランキング、アクセス明細、日付別アクセス明細、時刻別アクセス明細の順で、明細を表示する。ただし、アクセス明細の最大表示件数は、 300 件。
</DL>

<HR SIZE="1" WIDTH="70%" ALIGN="center">

<DIV ALIGN="center">
<ADDRESS>
<FONT SIZE="">
Copyright (C) 1997-  ARTN Co.,Ltd. All rights reserved.<BR>
<A HREF="mailto:webmaster@artn.co.jp">For more infomation contact : webmaster@artn.co.jp</A>
</FONT>
</ADDRESS>
</DIV>

</BODY>
</HTML>
