2011年7月13日水曜日

ログ・ファイルのサイズを変えたい

ログとして出力されるファイルのサイズは、変えることができます。
例えば、ApacheやTomcatのログにファイルサイズの制限をかけたいといった時があります。

Windosで設定
http://www.atmarkit.co.jp/fwin2k/win2ktips/275evlogfenl/evlogfenl.html
Linuxで設定
http://www.atmarkit.co.jp/flinux/rensai/root03/root03c.html


■CentOSでログファイルサイズの制限をかける(logrotate)
CentOSでログファイルの動作を設定する機能に、ログローテータ(logrotate) とよばれるプログラムがあります。
これを使うことで、ログファイルを自動的にローテーションしてくれます。
つまり、access_logがある一定の量たまると、access_log.1という名前に変更して、新たに空のログファイル(access_log)を作成してくれるわけです。

# ls -al /etc/httpd/logs/                                
合計 788
drwx------ 2 root root 4096 7月 4 18:02 .
drwxr-xr-x 15 root root 4096 7月 13 04:03 ..
-rw-r--r-- 1 root root 50599 7月 13 22:32 access_log
-rw-r--r-- 1 root root 80228 6月 30 21:16 access_log.1
-rw-r--r-- 1 root root 37715 5月 31 08:47 access_log.2

ログファイルをローテーションすることによる長所
・ログの確認範囲をある程度絞れる
・ログがディスクサイズを圧迫する可能性を減らす


■logrotateの設定
logrotateの全体の設定は、/etc/logrotate.conf で行います。

# cat /etc/logrotate.conf
# 周期の指定
# monthly, weekly, daily とローケションの単位を指定することができます。         
monthly

# 世代の指定
# rotate 12 と指定すると、logfile.1~logfile.12までのファイルが残ります。
rotate 12

# logfileがlogfile.1に名前変更されるときに、新たに空のlogfileを作成するかの指定
# 作成することを推奨
create

# ローテーションで作成されるファイルを圧縮するかの指定
# デフォルトはコメントアウトされています。
#compress

# 設定ファイルを取り込む設定
include /etc/logrotate.d

# 実際のログファイルの固有の設定
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}

# system-specific logs may be also be configured here.

設定した後は、cronによって定期的に実行されるようです。


参考)
cron の使い方 
http://landisk.kororo.jp/diary/30_cron.php

0 件のコメント:

コメントを投稿