限制 Apache日志文件大小的方法
更新時間:2009年04月28日 20:23:53 作者:
access.log,件在 WEB 服務(wù)器運行一段時間之后會達到幾十兆甚至上百兆,如果Apache運行有錯誤,error.log也會增大到幾十兆,我們知道系統(tǒng)讀寫一個大的文本文件是非常耗內(nèi)存的,因此限定日志文件大小十分必要。
通常我們是在{$apache}/conf/httpd.conf中設(shè)置Apache的參數(shù),然而我們并沒有發(fā)現(xiàn)可以設(shè)置日志文件大小的配置指令,通過參考http://httpd.apache.org/docs/2.0/programs/rotatelogs.html,可以用apache 自己的程序 rotatelogs.exe(位于 {$apache}/bin/目錄下),來限制日志文件的大小。
Usage: rotatelogs [-l] [offset minutes from UTC] or
Add this:
TransferLog "|rotatelogs /some/where 86400"
or
TransferLog "|rotatelogs /some/where 5M"
to httpd.conf. The generated name will be /some/where.nnnn where nnnn is the system time at which the log nominally starts (N.B. if using a rotation time, the time will always be a multiple of the rotation time, so you can synchronizecron scripts with it). At the end of each rotation time or when the file size is reached a new log is started.
在 Windows 下的設(shè)置例子如下:
# 限制錯誤日志文件為 1M
ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 1M"
# 每天生成一個錯誤日志文件
#ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400"
# 限制訪問日志文件為 1M
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 1M" common
# 每天生成一個訪問日志文件
#CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400" common
linux/Unix下 應(yīng)該類似。
Usage: rotatelogs [-l] [offset minutes from UTC] or
Add this:
TransferLog "|rotatelogs /some/where 86400"
or
TransferLog "|rotatelogs /some/where 5M"
to httpd.conf. The generated name will be /some/where.nnnn where nnnn is the system time at which the log nominally starts (N.B. if using a rotation time, the time will always be a multiple of the rotation time, so you can synchronizecron scripts with it). At the end of each rotation time or when the file size is reached a new log is started.
在 Windows 下的設(shè)置例子如下:
# 限制錯誤日志文件為 1M
ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 1M"
# 每天生成一個錯誤日志文件
#ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400"
# 限制訪問日志文件為 1M
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 1M" common
# 每天生成一個訪問日志文件
#CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400" common
linux/Unix下 應(yīng)該類似。
相關(guān)文章
如何在 Linux 中查找一個命令或進程的執(zhí)行時間
在類 Unix 系統(tǒng)中,你可能知道一個命令或進程開始執(zhí)行的時間,以及一個進程運行了多久。 但是,你如何知道這個命令或進程何時結(jié)束或者它完成運行所花費的總時長呢?下面小編給大家?guī)砹嗽?Linux 中查找一個命令或進程的執(zhí)行時間,一起看看吧2018-11-11ubantu 16.4下Hadoop完全分布式搭建實戰(zhàn)教程
這篇文章主要給大家介紹了關(guān)于在ubantu 16.4下Hadoop完全分布式搭建的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10如何在 CentOS/RHEL 系統(tǒng)中使用帶 VLAN 標(biāo)記的以太網(wǎng)卡
這篇文章主要介紹了如何在 CentOS/RHEL 系統(tǒng)中使用帶 VLAN 標(biāo)記的以太網(wǎng)卡,有對這方面感興趣的同學(xué),可以跟隨小編一起來研究學(xué)習(xí)下吧2020-12-12