とあるエンジニアの技術記録

主にWindowsやLinuxの設定方法、トラブル解決方法について投稿してます~♪

logrotateについて

2011年10月03日 22時23分46秒 | Linux
今日はlogrotateについて纏めておきます。
ログローテーションを行う理由としては、HDDの圧迫を阻止することと
ログを確認する時に時間がかかることとCPUへの負担を減らすことが目的です。

設定ファイルは2つある。
「/etc/logrotate.conf」 →ログローテーションのグローバル設定
「/etc/logrotate.d/各ファイル」 →各ログファイルの設定

▼/etc/logrotate.confについて
weely        #毎週ファイルの置き換えを行う daily→毎日、monthly→毎月#
rotate 4      #4世代分のファイルを作成#
create       #ファイル置き換え後、新しいログファイルを作成#
#compress      #ファイルを圧縮する(デフォルトは無効)#
include /etc/logrotate.d    #各ログの詳細ファイルの保存場所#
/var/log/wtmp{   
monthly
minsize 1M
create 0644 root utmp
rotate 1
}
#wtmpログファイルを毎月1世代のみログを作成。所有者はroot、グループはutmp、パーミッションは644のログファイルを作成する#


▼/etc/logrotate.d/のファイルについて
各サービスのログファイルの設定は/etc/logrotate.d/以下に保存されている。RHEL5.6(64bit)では以下のファイルがある。
 httpd、mailman、named、rpm、samba、snmpd、squid、syslog、up2data、yum(かなり省略・・)


▼/etc/logrotate.d/syslogについて
/var/log/messages /var/log/secure /var/log/maillog {    #どのログファイルに関する設定かの記述#
sharedscripts    #上記のログファイルのローテーション後に、下の行の処理を1度だけ実行#
postrotate     #endscriptまでの処理をローテーション終了後に実行#
 :
endscript      #コマンドの終了#
}

また外部機器のSyslogのローテーションを行うには以下の設定を追加します。

/var/log/local0/sw.log /var/log/local1/fw.log /var/log/local2/router.log {
daily
rotate 14
compress
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}


▼【参考ファイル】/etc/logrotate.d/namedについて
/var/log/named.log {
missingok
create 0644 named named
postrotate
/sbin/service named reload 2> /dev/null > /dev/null || true
endscript

▼ログローテートの実行
ログローテートはサービスとして実行されておらず、logratateコマンド(/usr/sbin/logrotate)で/etc/logratate.confをcronで実行しているだけである。

/etc/cron.daily/logrotateファイルに以下の記述があり、
 /usr/sbin/logrotate /etc/logrotate.conf
logrotateコマンドによって実行された/etc/logrotate.confが内容に沿って各サービスのlogファイルのローテーションを行う。

▼/var/lib/logrotate.statusについて
ログファイルがローテーションされたか確認するには/var/lib/logrotate.statusの内容を確認すればよい。

(例)"/var/log/httpd/error_log" 2011-10-05
  →2011年10月5日にログファイルがローテーションされたことを示す。

ただしこの日付が本日付けであれば手動でlogrotateを実行してもログファイルは更新(作成)されないので注意!!!


▼参考URL
http://www.atmarkit.co.jp/flinux/rensai/root03/root03c.html
http://linux.kororo.jp/cont/server/logrotate.php
http://kamoland.com/wiki/wiki.cgi?logrotate%A4%CE%C0%DF%C4%EA

以上


コメントを投稿