【问题标题】:How to import Apache access log into MySQL table?如何将 Apache 访问日志导入 MySQL 表?
【发布时间】:2011-04-02 11:01:37
【问题描述】:

将 Apache 访问日志导入 MySQL 表的推荐方法是什么?我正在考虑一个 ruby​​/perl 脚本 + 一个 cron 作业。如果有示例或参考,那就太好了。

我也不确定如何处理上次导入中最后一个日志条目的书签。欢迎提出建议。谢谢!

【问题讨论】:

  • 导入(即自己)还是直接写(即apache)?

标签: mysql ruby perl apache


【解决方案1】:

您拥有自定义日志格式吗?还是你必须忍受那里的一切?如果您拥有该格式,则可以轻松地分隔字段(例如使用制表符)并且导入起来非常简单。

LogFormat "%{%Y-%m-%d %H:%M:%S}t\t%s\t%h\t%{ClientIP}i\t%U%q\t%{Host}i\t%B\tc1w1402@dc1app14\t%m\t%{User-Agent}i\t%{Referer}i\tDRH\t%T\t%f\t%{Via}i" ezimport

【讨论】:

  • 出于兼容性原因,我可以更改默认的LogFormat,但不能更改。 apache(在 CentOS 上)是否可以写入 2 个日志(一个默认,另一个用于 MySQL 导入)?
  • 是的,你可以做很多事情,这就是'ezimport'在结尾处所表示的。
【解决方案2】:

如果您可以编写 PERL 脚本,请尝试使用 mod_perl 直接登录到数据库...以供参考检查 link

【讨论】:

    【解决方案3】:
    LogFormat "yourFormat" yourLog
    
    <VirtualHost example.com>
        ServerName example.com
        CustomLog /yourPath yourLog
    </VirtualHost>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-05
      • 2018-01-14
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多