• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

日志滚动解决apache日志文件过大问题

nginx 搞代码 4年前 (2021-12-23) 36次浏览 已收录 0个评论

配置web服务器时,一般我们都会记录下请求的信息,以及错误的相关信息。

ErrorLog “/home/zhangy/apache/www.test.com-error.log”
CustomLog “/home/zhangy/apache/www.test.com-access.log” common

做了上面的配置,如果你不定期删除的话,我想随着时间的推移,这些日志文件能达到几个G的大小。占用资源不说,还不利于我们查看日志信息。其实对访问信息,以及错误错误只是为了帮助我们了解服务器的访问,运行情况,个人觉得只要了解近期的就OK了。

下面有2种方法可以解决这个问题

1,rotatelogs这样日志回滚的工具

用法

rotatelogs  [ -l ] logfile  [ rotationtime [ offset ]] | [ filesizeM ]

-l 使用本地时间代替GMT时间作为时间基准。注意:在一个改变GMT偏移量(比如夏令时)的环境中使用-l会导致不可预料的结果。

logfile 它加上基准名就是日志文件名。如果logfile中包含”%”,则它会被视为用于strftime()的格式字符串;否则它会被自动加上以秒为单位的”.nnnnnnnnnn”后缀。这两种格式都表示新的日志开始使用的时间。

rotationtime 日志文件滚动的以秒为单位的间隔时间。

offset 相对于UTC的时差的分钟数。如果省略,则假定为”0″并使用UTC时间。比如,要指定UTC时差为”-5小时”的地区的当地时间,则此参数应为”-300″。

filesizeM 指定以filesizeM文件大小滚动,而不是按照时间或时差滚动。

解决方法:

ErrorLog “|/usr/local/apache2/bin/rotatelogs /home/zhangy/apache/www.test.com-error.log.%Y-%m-%d-%H_%M_%S 10M”
CustomLog “|/usr/local/apache/bin/rotatelogs /home/zhangy/apache/www.test.com-access.log 10M” commom

当日志大小达到10M时,日志就会滚动,产生新的日志。当然你可以根据时间来进行滚动,把10M换成36000,表时日志10个小时滚动一次。

[zhangy@BlackGhost apache]$ ls -tr |grep test
http://www.test.com-error.log
http://www.test.com-access.log
http://www.test.com-error.log.2010-11-05-14_50_00
http://www.test.com-access.log.1288968528
http://www.test.com-error.log.2010-11-05-14_48_20
http://www.test.com-access.log.1288968677
http://www.test.com-error.log.2010-11-05-14_56_40
http://www.test.com-error.log.2010-11-05-15_55_00
http://www.test.com-access.log.1288969444

2,利用graceful启动

用优雅的(graceful)方法重新启动,可以使服务器启用新的日志文件,而不丢失原来尚未写入的信息。为此,有必要等待一段时间,让服务器完成正在处理的请求,并将记录写入到原来的日志文件。下面是日志滚动和为节省存储空间而压缩旧日志的例子,其实这些日志也可以不要,看个人需要

[zhangy@BlackGhost apache]$ find . -name “*51yip*” |xargs -i mv {} {}.bak
[zhangy@BlackGhost apache]$ sudo /etc/init.d/apache2 graceful
[zhangy@BlackGhost apache]$ sudo sleep 100
[zhangy@BlackGhost apache]$ find . -name “*.bak” |xargs -i tar czvf logbak.tar.gz {}
./www.gaodaima.com-access.log.bak
./www.gaodaima.com-error.log.bak


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:日志滚动解决apache日志文件过大问题
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址