はじめに Edit

cron(vixie-cron)をインストールして、一定周期毎にジョブを自動実行する環境を構築します。
本節では、次のようなジョブ(プログラム)をcronで実行させます。

  • logrotate
    /var/log/ディレクトリに蓄積される各種ログを、分割してバックアップを行うプログラムです。

  • ntpクライアント
    現在の時刻をインターネット上のNTPサーバから取得し、システム時間を補正するプログラムです。

  • Webalizer
    WEBサーバApacheのログ解析をして、アクセス履歴を視覚的に表示してくれるツールです。

yumは遅いので、一括してインストールを行います。

bash-2.05b# yum install vixie-cron crontabs logrotate ntp webalizer

cron,logrotate Edit

  • /etc/crontab
    睡眠中にHDDがうなり出すのが嫌だったのでジョブが走る時間帯を夕方に変更しました。
    各コマンドが起動する時刻は、行頭から、秒、分、時、日、月、曜日となっています。
    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の起動
    bash-2.05b# /etc/init.d/crond start
    
    ※ランレベルは、2〜5で起動されるようインストール時に自動設定されているようです。

ntpクライアント Edit

  • NTPサーバ
    時刻の同期を行うにはNTPサーバを探す必要があります。
    NTPサーバ一覧から近場の物を選択すると良いと思います。
    ちなみに、福岡大学のNTPサーバ(clock.nc.fukuoka-u.ac.jp)が非常に有名です。
    管理人はプロバイダ(OCN)のNTPサーバを使うことにしました。
  • 時刻の同期
    ntpdateコマンドにNTPサーバ名を指定して実行します。
    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という名前で次のようなスクリプトを作成し、
    #/bin/sh
    /usr/sbin/ntpdate ntp-tk01.ocn.ad.jp
    
    実行属性をセットし、/etc/cron.daily ディレクトリにコピーします。
    #/bin/sh
    bash-2.05b# chmod +x ntpdate.cron
    bash-2.05b# cp ntpdate.cron /etc/cron.daily
    
    これで、毎日時刻が補正されるようになります。

Webalizer Edit

  • Webalizerとは?
    WEBサーバApacheのログ解析をして、アクセス履歴を視覚的に表示してくれるツールです。
    次のような情報をグラフィカルに表示してくれます。
    • 月毎の統計
    • 日毎の統計
    • 時間毎の統計
    • ページのアクセスランキング
    • 訪問先のサイトランキング
    • 参照先URLのランキング
    • WEBブラウザのランキング
    • 訪問国のランキング
    より詳しくは本家のサイトをご覧ください。
  • インストール
    bash-2.05b# yum install webalizer
  • 設定
    設定ファイル/etc/webalizer.confを修正します。
    HostName	landisk
    
    自分自身のアクセスを表示しないようにするには、HideURL、HedeHideReferrerオプションを追加します。
    下記は管理人の設定例です。
    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
      #
      # 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
        Allow from 192.168.0.0/24
        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: 2709, today: 1, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-13 (火) 20:02:27 (6534d)