最近は、夫婦そろってネトゲ廃人と化してます。
ゲームとはいえ、夫婦そろって同じ遊びをするって結構楽しいです。
MSN氏、アカウントの一時貸し出しありがとです。ヽ(´ー`)ノ
さて、以前syslogによるlog管理について記載しましたが、
いくつか追加で設定しておきたい項目があります。
■ Linux(CentOS5)syslogの世代管理
以前、syslogの設定について記載しましたが、そのままの設定ですと、
ずーっとDiskの空き容量の限りlogを書き込んでしまいます。(# ゚Д゚)
それを避けるために、「logrotate」を利用し、設定したタイミングでlogファイルのバックアップをとり、
新しいlogファイルを作成して、logのローテーションを行いたいと思います。
・logrotateの設定
logrotateの設定は、次の2つのファイルで設定を行います。
>> /etc/logrotate.conf
>> /etc/logrotate.d
▲ logrotate.confの内容(CentOS5) —————————————–
[root@hogehoge ~]# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly ←ローテーションは毎週(monthly、dailyも可)
# keep 4 weeks worth of backlogs
rotate 30 ←30世代分保存
# create new (empty) log files after rotating old ones
create ←ローテーション時に新しくlogファイルを作成する
# uncomment this if you want your log files compressed
#compress ←圧縮する(この設定では圧縮しない)
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d ←logの詳細設定ファイルの位置
# no packages own wtmp — we’ll rotate them here
/var/log/wtmp { ←wtmpログファイル、
monthly ←毎月一世代
minsize 1M ←過剰にローテーション問題対策
create 0664 root utmp ←新しいファイルを0664のパーミッション、
所有者をroot、所有グループをutmpで作成を行う。
rotate 1
}
# system-specific logs may be
————————————————————————–
▲ logrotate.dの内容(CentOS5) ——————————————–
[root@hogehoge logrotate.d]# cat syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler
/var/log/boot.log /var/log/cron { ←ログファイルの種類
sharedscripts ←上記ログファイルのローテーション後に次の処理へ
roteate 50 (追記※)
weekly (追記※)
postrotate ←endscriptまでの処理をローテーション終了後に実行
/bin/kill -HUP `cat /var/run/syslogd.pid 2>
/dev/null` 2> /dev/null || true ←HUPシグナルで設定を再読み込み
endscript ←コマンド終了
}
————————————————————————–
※いや、もうね、注目!(゚Д゚ )つ☆ビシッ
上記で追記している2行。
「rotate 50」,「weekly」はlogrotate.confと同じように世代管理を指定している。
この2行を追記することで個々のサービス毎に指定ができます。
※あの、だからね、注意!(゚Д゚ )つ☆ビシッ
「/etc/logrotate.d」下のファイルで「daily」と指定してもlogrotate.conf内で
「weekly」と指定されていると「daily」実行がされない点です。
logrotate.confはlogrotate.dを読み込むため、loglotate.confでweeklyを設定すると
週1でしかlogrotate.dを読み込まなくなるためです。
(((;-д-)=3ハァハァ
つ、疲れたよ・・・これにて終了~