apache日志管理
web服务器日志轮循比较好的方式有三种:
第一种方法是利用Linux系统自身的日志文件轮循机制:logrotate;
第二种方法是利用apache自带的日志轮循程序rotatelogs;
第三种是使用在apache的FAQ中推荐发展已经比较成熟的一个日志轮循工具cronolog。
这里我给大家带来的是用apache自带的日志轮循程序rotatelogs,并用shell脚本定期删除日志文件,只保留近5天的文件,以免日志文件占满磁盘空间,并且做了日志过滤。
修改主配置文件httpd.conf
找到以下内容,并修改成:
ErrorLog logs/error_log
SetEnvIf Request_URI \.gif$ gif-image
SetEnvIf Request_URI \.GIF$ gif-image
SetEnvIf Request_URI \.jpg$ gif-image
SetEnvIf Request_URI \.JPG$ gif-image
SetEnvIf Request_URI \.png$ gif-image
SetEnvIf Request_URI \.js$ gif-image
SetEnvIf Request_URI \.bmp$ gif-image
SetEnvIf Request_URI \.css$ gif-image
SetEnvIf Request_URI \.mid$ gif-image
SetEnvIf Request_URI \.swf$ gif-image
SetEnvIf Request_URI \.mmf$ gif-image
SetEnvIf Request_URI \.wma$ gif-image
SetEnvIf Request_URI \.Wma$ gif-image
SetEnvIf Request_URI \.midi$ gif-image
SetEnvIf Request_URI \.ani$ gif-image
SetEnvIf Request_URI \.rar$ gif-image
SetEnvIf Request_URI \.rarZ$ gif-image
SetEnvIf Request_URI \.mp3$ gif-image
SetEnvIf Request_URI \.zip$ gif-image
SetEnvIf Request_URI \.rmvb$ gif-image
SetEnvIf Request_URI \.txt$ gif-image
SetEnvIf Request_URI \.exe$ gif-image
SetEnvIf Request_URI \.xml$ gif-image
SetEnvIf Request_URI \.ico$ gif-image
SetEnvIf Request_URI bd\.php$ gif-image
SetEnvIf Request_URI counter\.php$ gif-image
SetEnvIf Request_URI comment\.php$ gif-image
SetEnvIf Request_URI emotion\.php$ gif-image
SetEnvIf Request_URI pn\.php$ gif-image
SetEnvIf Request_URI getjs\.php$ gif-image
CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/IP_access_log_%Y%m%d 86400 480" combined env=!gif-image
86400 ---日志滚动的时间是一天
400 ---日志文件最大400M就滚动
combined ---采用复合格式
然后建立清除日志文件的shell脚本,文件名为clean_log
#! /bin/bash
/usr/bin/find /usr/local/apache2/logs/ -name "*access*" -mmin +5760 -exec rm {} \;
chmod 755 clean_log
这样就保留了最近3天的日志文件。
建立自动化任务
01 04 * * * /usr/local/crontab/clean_log
ok,搞定,就这么简单。这样你就不用不必为日见增大的日志文件烦恼了!
阅读(4305) | 评论(0) | 转发(3) |