您的位置:首页 > 运维架构 > Apache

apache日志管理【转】

2013-12-14 15:47 141 查看
web服务器日志轮循比较好的方式有三种:
第一种方法是利用Linux系统自身的日志文件轮循机制:logrotate;
第二种方法是利用apache自带的日志轮循程序rotatelogs;
第三种是使用在apache的FAQ中推荐发展已经比较成熟的一个日志轮循工具cronolog。

这里我给大家带来的是用apache自带的日志轮循程序rotatelogs,并用shell脚本定期删除日志文件,只保留近3天的文件,以免日志文件占满
磁盘空间。
修改主配置文件httpd.conf
找到以下内容,并修改成:
ErrorLog /var/log/httpd/error_log
CustomLog "|/usr/local/apache2/bin/rotatelogs /var/log/httpd/access_log 86400 400M" combined
86400 ---日志滚动的时间是一天
400 ---日志文件最大400M就滚动
combined ---采用复合格式

然后建立清除日志文件的shell脚本,文件名为clean_log
#! /bin/bash
logdir=/var/log/httpd
cd ${logdir}
declare -i filesum=`ls access_log.* | wc -l`
declare -i delnum=$filesum-3
if [ "${delnum}" -ge 1 ];then
rm -rf `ls -tr access_log.* | head -${delnum}`
fi

chmod 755 clean_log
这样就保留了最近3天的日志文件。

建立自动化任务
01 04 * * * /usr/local/crontab/clean_log
ok,搞定,就这么简单。这样你就不用不必为日见增大的日志文件烦恼了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: