Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6370795
  • 博文数量: 162
  • 博客积分: 3600
  • 博客等级: 中校
  • 技术积分: 10366
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-19 11:23
个人简介

专注系统运维、网络架构,研究技术解决方案,记录我的思想轨迹、工作学习、生活和关注的领域

文章分类
文章存档

2014年(2)

2013年(16)

2012年(27)

2011年(117)

分类:

2011-01-20 11:57:26

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) |
给主人留下些什么吧!~~