清除error.log、access.log并限制Apache日志文件大小的方法
清除error.log、access.log并限制Apache日志文件大小的方法
Apache下的access.log和error.log文件從安裝服務(wù)器到現(xiàn)在沒有動過,今天突然discuz 的MYSQL數(shù)據(jù)庫連接錯誤,提示2003 錯誤,檢查發(fā)現(xiàn)原來是error.log、access.log爆滿,文件達到30個G,奶奶的,立馬搜索,得把這兩個小子干掉。
下面是在網(wǎng)上搜索到的方法,立馬見效,頂一個!
在 Windows 下的設(shè)置例子如下:
第一步:刪除 Apache2/logs/目錄下的 error.log、access.log文件
第二步:打開 Apache 的?httpd.conf配置文件并找到下面兩條配置
ErrorLog logs/error.log
CustomLog logs/access.log common
直接注釋掉,換成下面的配置文件。
# 限制錯誤日志文件為 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
參考:
Apache下的access.log和error.log文件處理方法
這幾天有會員和我說到網(wǎng)站訪問速度越來越慢。我查了一下,看到Apache2下面有兩個日志文件非常大了,加起來有800多M了。
分別是access.log和error.log。
于是在網(wǎng)上找找了給access.log和error.log減肥的方法,這個方法可讓這兩個文件按每天日期生成。這樣你可以選擇
把前面的舊文件刪除了。
在Apache下的httpd.conf配置文件下找到下面兩句:
ErrorLog logs/error.log
CustomLog logs/access.log common
然后把這兩句分別改為如下:
CustomLog “|D:/apache2/bin/rotatelogs.exe D:/apache2/logs/access_%Y_%m_%d.log 86400 480″ common?
ErrorLog “|D:/apache2/bin/rotatelogs.exe D:/apache2/logs/error_%Y_%m_%d.log 86400 480″?
一切就這么簡單,這樣這兩個日志文件每天都會起一個新文件,就不至于單個文件太大,打不開,而無法看到日志信息了.?
你還可以把前面的日志文件刪除。
access.log,件在 WEB 服務(wù)器運行一段時間之后會達到幾十兆甚至上百兆,如果Apache運行有錯誤,error.log也會增大到幾十兆,我們知道系統(tǒng)讀寫一個大的文本文件是非常耗內(nèi)存的,因此限定日志文件大小十分必要。
日志文件大小的配置指令,通過參考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)該類似。
清除apache的access.log方法
有個客戶服務(wù)器是用apache搭建的,最近總是感覺站很慢,服務(wù)器很慢很卡,有時候甚至網(wǎng)站都打不開,后來經(jīng)過排查分析原來是里面的access.log和error.log這兩個文件要經(jīng)常上去看,和清理,如果時間忙,忘記看和清理了,過不了多久,這兩個文件就膨脹的非常的大,打都打不開了。 下面就跟你說下 清理access.log和error.log這兩個日志文件的方法希望對大家有些幫助。也懷疑懷疑是有其他的爬蟲,明天都在爬我的幾個網(wǎng)站。?
優(yōu)化access.log和error.log的方法如下 :
CustomLog “|D:/thridparty-system/java/apache2/bin/rotatelogs.exe D:/thridparty-system/java/apache2/logs/access_%Y_%m_%d.log 86400 480″ common?
ErrorLog “|D:/thridparty-system/java/apache2/bin/rotatelogs.exe D:/thridparty-system/java/apache2/logs/error_%Y_%m_%d.log 86400 480″?
一切就這么簡單,這樣這兩個日志文件每天都會起一個新文件,就不至于單個文件太大,打不開,而無法看到日志信息了.
解決Apache日志文件ACCESS.LOG日益膨脹的一個辦法
將httpd.conf中customlog logs/access.log common 改成
customlog “|c:/apache/bin/rotatelogs c:/apache/logs/%y_%m_%d.access.log 86400 480″ common
重啟apache
其中c:/apache/是你安裝apache的路徑
這樣每一天生成一個日志文件
解決Apache日志文件ACCESS.LOG日益膨脹的一個辦法
?
?
---------------------------------------------------
http://blog.sina.com.cn/s/blog_5f66526e0100jtrw.html
http://raines8231.blog.163.com/blog/static/13623310720116155165620/
轉(zhuǎn)載于:https://www.cnblogs.com/xinlei/archive/2011/10/09/2203909.html
總結(jié)
以上是生活随笔為你收集整理的清除error.log、access.log并限制Apache日志文件大小的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js实现轮播图点击按钮切换下一张图片
- 下一篇: 根据窗口名称查找关键字弹性域用到的表,列