tomcat7についてのログ関連設定メモ
そろそろ、社内で運用しているtomcat7 のログファイルがいっぱいになってきているので、ログローテート等設定したので、覚書に..
アクセスログ
CATALINA_HOME/conf/server.xmlを編集して、tomcat自身で行っているローテート設定を無効にする。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
rotatable="false"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
ログローテート設定
catalina.out と、先の localhost_acces_log のログローテートを設定。
/etc/logrotale.d/tomcat7
/var/log/tomcat7/catalina.out
/var/log/tomcat7/localhost_access_log.txt {
copytruncate
weekly
rotate 52
compress
missingok
create 640 root adm
}
チェックするのには、
# /usr/sbin/logrotate /etc/logrotate.conf
を実行して、
# cat /var/lib/logrotate/status
で、確認。
この場合は、ローテートの期間が1週間単位になっているので、1週間後に${ログファイル名}.gz
ファイルができていたら成功です。
早く確認したい場合は、/var/lib/logrotate/status
の日付を1週間前に戻して、再度ログローテートを実行する。
不要なログのクリーンアップ
シェルスクリプトで、60日以上前に更新のあったファイルを削除するように実行する。
#!/bin/bash
LOG_DIR=/usr/local/tomcat7/logs/
delfiles=`find ${LOG_DIR}*.log -mtime +60 -printf %p\ `
for a in $delfiles
do
echo -e "delete file: ${a}" > /dev/null 2>&1
rm ${a}
done
~
0件のコメント