*はじめに [#x47c3101]
cron(vixie-cron)をインストールして、一定周期毎にジョブを自動実行する環境を構築します。~
本節では、次のようなジョブ(プログラム)をcronで実行させます。~
-''logrotate''~
/var/log/ディレクトリに蓄積される各種ログを、分割してバックアップを行うプログラムです。~
~
-''ntpクライアント''~
現在の時刻をインターネット上のNTPサーバから取得し、システム時間を補正するプログラムです。~
~
-''Webalizer''~
WEBサーバApacheのログ解析をして、アクセス履歴を視覚的に表示してくれるツールです。

yumは遅いので、一括してインストールを行います。
#pre{{
bash-2.05b# yum install vixie-cron crontabs logrotate ntp webalizer
}}
*cron,logrotate [#g3fe8658]
-''/etc/crontab''~
睡眠中にHDDがうなり出すのが嫌だったのでジョブが走る時間帯を夕方に変更しました。~
各コマンドが起動する時刻は、行頭から、秒、分、時、日、月、曜日となっています。
#pre{{
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 16 * * * root run-parts /etc/cron.daily
22 16 * * 0 root run-parts /etc/cron.weekly
42 16 1 * * root run-parts /etc/cron.monthly
}}

-''logrotate''~
デフォルト設定で大丈夫そうです。~
(正直言って、設定方法を知りません。笑)~
~
-''cronの起動''~
#pre{{
bash-2.05b# /etc/init.d/crond start
}}
※ランレベルは、2〜5で起動されるようインストール時に自動設定されているようです。~
*ntpクライアント [#ke3fbef8]
-''NTPサーバ''~
時刻の同期を行うにはNTPサーバを探す必要があります。~
[[NTPサーバ一覧:http://www.venus.dti.ne.jp/~yoshi-o/NTP/NTP-Table.html]]から近場の物を選択すると良いと思います。~
ちなみに、福岡大学のNTPサーバ(clock.nc.fukuoka-u.ac.jp)が非常に有名です。~
管理人はプロバイダ(OCN)のNTPサーバを使うことにしました。~

-''時刻の同期''~
ntpdateコマンドにNTPサーバ名を指定して実行します。~
#pre{{
bash-2.05b# ntpdate ntp-tk01.ocn.ad.jp
Looking for host ntp-tk01.ocn.ad.jp and service ntp
host found : ntp-tk01.ocn.ad.jp
13 Mar 19:04:44 ntpdate[1223]: adjust time server xx.xx.xx.xx offset 0.001005 sec
}}
-''cronで自動更新''~
cronを使い毎日自動更新を行います。~
ntpdate.cronという名前で次のようなスクリプトを作成し、~
#pre{{
#/bin/sh
/usr/sbin/ntpdate ntp-tk01.ocn.ad.jp
}}
実行属性をセットし、/etc/cron.daily ディレクトリにコピーします。
#pre{{
#/bin/sh
bash-2.05b# chmod +x ntpdate.cron
bash-2.05b# cp ntpdate.cron /etc/cron.daily
}}
これで、毎日時刻が補正されるようになります。~
*Webalizer [#r7bb898c]
-''Webalizerとは?''~
WEBサーバApacheのログ解析をして、アクセス履歴を視覚的に表示してくれるツールです。~
次のような情報をグラフィカルに表示してくれます。~
--月毎の統計
--日毎の統計
--時間毎の統計
--ページのアクセスランキング
--訪問先のサイトランキング
--参照先URLのランキング
--WEBブラウザのランキング
--訪問国のランキング
-
より詳しくは本家のサイトをご覧ください。
--トップページ: http://www.webalizer.org/
--レポートのサンプル http://www.webalizer.org/sample/index.html
~
~
-''インストール''~
 bash-2.05b# yum install webalizer

-''設定''~
設定ファイル/etc/webalizer.confを修正します。
#pre{{
HostName	landisk
}}
自分自身のアクセスを表示しないようにするには、HideURL、HedeHideReferrerオプションを追加します。~
下記は管理人の設定例です。~
#pre{{
IgnoreSite      eggplant.ddo.jp
IgnoreSite      localhost
IgnoreSite      192.168.0
IgnoreSite      192.168.1

HideURL         *.gif
HideURL         *.GIF
HideURL         *.jpg
HideURL         *.JPG
HideURL         *.png
HideURL         *.PNG
HideURL         *.ra
HideURL         *.mp3
HideURL         *.jpeg
HideURL         *.css

}}
-''解析結果のアクセス許可設定''~
初期状態では、localhostからしか解析結果にアクセスできないようになっています。~
ローカルネットワーク内の端末から、アクセスできるように設定を変更します。~
--/etc/httpd/conf.d/webalizer.conf~
#pre{{
#
# This configuration file maps the webalizer log analysis
# results (generated daily) into the URL space.  By default
# these results are only accessible from the local host.
# 
Alias /usage /var/www/usage

<Location /usage>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
  &color(red){Allow from 192.168.0.0/24};
  &color(red){Allow from 192.168.1.0/24};
    # Allow from .example.com
</Location>
}}
--apacheを再起動します。
 bash-2.05b# /etc/init.d/httpd restart

-''ログ解析と表示''~
以下のコマンドを実行すると、/var/www/usage に解析結果が格納されます。~
 bash-2.05b# webalizer
http://YOUR_LANDISK/usage/index.html より解析結果を見ることができます。~
※既にcronに組み込まれているので、毎日自動更新されます。~
~
~
~

#counter

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS