快速业务通道

多服务器的日志合并统计(4)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-06

比如我要保留前1周的日志:每天复制前1天的日志到指定目录,等待日志服务器来抓取:

  /bin/cp /path/to/logs/`date -v-1d +%w`/Access_log
     /path/to/sync/logs/access_yesterday

  在FREEBSD上使用以下命令:

  date -v-1d +%w

  注释:

  -v-1d: 前1天,而在Linux上这个选项应该是date -d yesterday

  +%w: weekday,由于使用的都是标准时间函数库,所有工具中的WEEKDAY定义都是一样的0-6 =>周日-周六

  注意:写到CRONTAB里的时候"%"前面需要加一个""转义:每天0点5分进行一次日志归档:

  5 0 * * * /bin/cp /path/to/logs/`date -v-1d +\%w`/access_log
   /path/to/for_sync/logs/access_yesterday

  首次开始cronolog日志统计是周3,一周以后日志又将轮循回3/access_log。

  但这次日志是追加到access_log还是重新创建一个文件呢?>>access_log or >access_log?

  我测试的结果是日志将被追加:

  [01/Apr/2002:23:59:59 +0800]
  [01/Apr/2002:23:59:59 +0800]
  [08/Apr/2002:00:00:00 +0800]
  [08/Apr/2002:00:00:00 +0800]

  肯定是不希望每次日志还带着上周的数据的并重复统计一次的(虽然对结果没影响),而且这样%w/下的日志不是也越来越多了吗?

  解决方法1 把每天的cp改成mv

  解决方法2 每天复制完成后:删除6天以前的access_log日志

  find /path/to/apache/logs -name access_log -mtime +6 -exec rm -f {};

  多保留几天的日志还是有必要的:万一日志分析服务器坏了一天呢?

  4、总结

  1) 用 cronolog 干净,安全地轮循日志
  2) 用 sort -m 排序合并多个日志 关键词:统计

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号