例えば、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 件のコメント:
コメントを投稿