Apache log 分割處理用的 mod_log_rotate

今天是 2006 最後一天,新年快樂!

以前提過使用 cronolog 作 Apache log 的分割處理,它是使用外部的程式去分割,但是今天在測試 Apache 2.2.3 的時候發現問題,可能是 Apache 的 bug,Apache 會發動愈來愈多的 cronolog.exe … 而且停 Apache 並不會停這些 process,這裡有討論.

在網上研究了一下,有人提供了 Apache 模組去達成同樣的功能 — mod_log_rotate,可以供 Apache 1.3 及 2.x 使用,它提供 c 的原始程式,另有網站提供了 Apache 2.0 及 2.2 在 Windows 平台編譯好的 module.

用法很簡單:

  1. 將 mod_log_rotate.so 放到 Apache 的 module 目錄,如 Apache2\modules.
  2. 在 httpd.conf 中加上
    LoadModule log_rotate_module modules/mod_log_rotate.so
    RotateLogs On (打開 log)
    RotateLogsLocalTime On (用 local time 算,default 是用 UTC 時間)
    RotateInterval 86400 (86400 是 default,也就是一天,這一行不加也可以)
  3. 原本用 cronolog 的地方
    CustomLog “|c:/bin/cronolog.exe logs/access_%Y%m%d.log” combined
    改成
    CustomLog logs/access_%Y%m%d.log combined

Ok !

(Visited 7,355 times, 1 visits today)

別人也看了:

Apache2 使用 mod_deflate 增進傳輸效能 在前篇提過使用 mod_gzip 增進傳輸效能,但似乎有些地方有問題,如果加上mod_gzip_item_include mime application/x-httpd-php,照理說應該會把 ph...
Apache2 使用 mod_gzip 增進傳輸效能 要加快網頁傳輸的速度,一個方法是增加網路的頻寬,另一個方法是降低資料量,這是大家都知道的道理. HTTP 通訊協定基本上就是 server 接受 client 的 request (GET) 然後送出...
用 Apache 拒絕網路流氓的騷擾 Google, Yahoo 的搜尋引擎之所以可以搜尋到很多資料,是因為他們時時刻刻都派著 "robot" 在網路上巡邏,Google 的叫 googlebot, MSN 叫 msnbot, Yahoo...
Windows 64-bit 網站程式 apache,php,mysql 的資源... 這一篇是記綠 Windows x64 網站程式的資源,怕忘記去哪裡找了。 Apache 2.2 Windows 64-bit Php 5.3 64 bit MySQL 5 ...
Apache2 與 php5 / php4 安裝 本 WordPress 的 blog 之前已經由 IIS 換成 Win32 Apache, 今天又把 php 4.3 換成 php 5, 記錄一下修改的地方, 其實也蠻簡單的. 自己架設部落格的伺服器...
分享:

“Apache log 分割處理用的 mod_log_rotate” 有 8 則迴響.

  1. 您好, 我使用 Apache 2.2.6, 然後用的是這個 http://www.apachelounge.com/download/mods/mod_log_rotate-1.00a-w32.zip. 結果一執行就跑出這樣的訊息, 請問我用的版本和你的一樣嗎?

    apache.exe: Syntax error on line 142 of D:/apache/conf/httpd.conf: Cannot load D:/apache/modules/mod_log_rotate.so into server: \xb5L\xaak\xb1\xd2\xb0\xca\xb3o\xad\xd3\xc0\xb3\xa5\xce\xb5{\xa6\xa1\xa1A\xa6]\xac\xb0\xc0\xb3\xa5\xce\xb5{\xa6\xa1\xaa\xba\xb3]\xa9w\xa4\xa3\xa5\xbf\xbdT\xa1C\xad\xab\xb7s\xa6w\xb8\xcb\xc0\xb3\xa5\xce\xb5{\xa6\xa1\xc0\xb3\xb8\xd3\xa5i\xa5H\xad\xd7\xb4_\xb3o\xad\xd3\xb0\xdd\xc3D\xa1C

  2. 沒有耶, 不過我裝好了, 然後因為我用的是官方版的 apache.exe, 所以也把 httpd.exe.manifest 放到 bin. 不過結果還是失敗, 訊息如下
    (Sys) 無法啟動這個應用程式,因為應用程式的設定不正確。重新安裝應用程式應該
    可以修復這個問題。
    我 httpd.conf 就加上這一段
    LoadModule log_rotate_module modules/mod_log_rotate.so

    RotateLogs On
    RotateLogsLocalTime On
    RotateInterval 86400

    會不會是得換成 Apachelounge 的才可以呢?

  3. 我也遇到Syntax error!

    在我自己的本本上(windowsXP)上安装apache2.2.8+mod_log_rotate.so,运行正常。但是我拿到服务器(windows2003 Server)上去,就无法启动apache,并报Syntax error,不知道该怎么继续了!

  4. Apache 2.0跑不起來嗎? 它說了:The mods below are build with Visual Studio C++ 2005(VC8) or 2008(VC9) against the Apache 2.2 headers and loads when Apache is build with Visual Studio C++ 2005, 2008 or the download from ASF http://httpd.apache.org. It will NOT load into Apache 2.0.x releases.

    你可以自己compile 2.0 mod_log_rotate(不容易)或升級成 Apache 2.2。以前有 for 2.0 的版本,現在沒了。

發表迴響