开发者社区> 技术小阿哥> 正文

访问日志切割

简介:
+关注继续查看

磁盘100G,一天一个G日志一直记录总有一天会把整个磁盘占满,虽然不能直接cat或者vim,对于访问日志是不停的在后面追加,所以对它来讲不需要打开这个文件,所以也不会影响到什么效率,但是磁盘占满是很危险的事情,所以有必要让它自动切割,并删除老的日志文件。昨天的日志归档一个文件名字,今天凌晨又一个新的日志开始写,超过一定时间段的比如一个星期或者一个月的该删除的删除或者移走。这样可以保证磁盘永远写不满
把虚拟主机配置文件改成如下: 
<VirtualHost :80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
ServerAlias 123.com
SetEnvIf Request_URI ".
.gif$" img
SetEnvIf Request_URI "..jpg$" img
SetEnvIf Request_URI ".
.png$" img
SetEnvIf Request_URI "..bmp$" img
SetEnvIf Request_URI ".
.swf$" img
SetEnvIf Request_URI "..js$" img
SetEnvIf Request_URI ".
.css$" img 
CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access%Y%m%d.log 86400" combined env=!img //rotatelogs是Apache自带的工具 -l是以系统当前时间为基准。如果不指定-l就会按照utc时间切割日志。%Y%m%d每天切割成不同的名字。86400 规定什么时间去切割。时间段是一天换算成秒是86400 
</VirtualHost>
重新加载配置文件 -t, graceful
ls /usr/local/apache2.4/logs //下面还没有生成新的日志文件所以需要去访问

curl -x192.168.211.149:80 111.com/qq.jpg111 -I //不能在访问jpg后缀的图片了
ls logs/ //生成日期的日志
111.com-access_20171206.log access_log
111.com-access_log error_log
111.com-error_log httpd.pid
后面还有做一个任务计划把超过一个月的日志删除



本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2052786,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
log4j支持同时按日期和文件大小分割日志
log4j支持同时按日期和文件大小分割日志
377 0
日志切割操作
Linux日志切割操作,取出需要的日志内容
168 0
Apache的日志切割
当我们每访问一次网站就会产生若干条日志信息,如果日志都存放在一个文件中,时间久了日志文件将会越来越大,不仅占用空间也不方便运维和开发人员对日志的分析; 此时就需要对日志进行切割,比如按天或者按小时产生新的日志文件。
4401 0
nginx日志模块及日志定时切割
一:作用   Ngx_http_log_module:定义日志格式,并且以指定的格式保存。 二:示例配置 log_format compression '$remote_addr - $remote_user [$time_local] ' ...
1413 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载