配置 centos apache 的日志文件為每天保存,在home分區


/usr/local/apache/bin/rotatelogs 這個執行程序會根據安裝方式不同的位置也不同,yum安裝的話,路徑為:/usr/sbin/rotatelogs

改為:

ErrorLog "|/usr/sbin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
CustomLog "|/usr/sbin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

這樣才可以的。

 

centos下 Apache、php、mysql默認安裝路徑

apache:

如果采用RPM包安裝,安裝路徑應在 /etc/httpd目錄下

apache配置文件:/etc/httpd/conf/httpd.conf

Apache模塊路徑:/usr/sbin/apachectl

web目錄:/var/www/html

如果采用源代碼安裝,一般默認安裝在/usr/local/apache2目錄下

php:

如果采用RPM包安裝,安裝路徑應在 /etc/目錄下

php的配置文件:/etc/php.ini

如果采用源代碼安裝,一般默認安裝在/usr/local/lib目錄下

php配置文件: /usr/local/lib/php.ini

或/usr/local/php/etc/php.ini

mysql:

如果采用RPM包安裝,安裝路徑應在/usr/share/mysql目錄下

mysqldump文件位置:/usr/bin/mysqldump

mysqli配置文件:

/etc/my.cnf或/usr/share/mysql/my.cnf

mysql數據目錄在/var/lib/mysql目錄下

如果采用源代碼安裝,一般默認安裝在/usr/local/mysql目錄下

 

Apache按天截斷日志工具-rotatelogs

 

Linux系統配置方法
在apache的配置文件httpd.conf中找到
ErrorLog logs/error_log
CustomLog logs/access_log common

將其改為
ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

Windows系統下配置方法:
在apache的配置文件httpd.conf中找到
ErrorLog logs/error_log
CustomLog logs/access_log common

將其改為
ErrorLog "|c:/apache/bin/rotatelogs.exe  c:/apache/logs/error_%Y_%m_%d.log 86400 480"
CustomLog "|c:/apache/bin/rotatelogs.exe c:/apache/logs/access_%Y_%m_%d.log 86400 480" common
其中c:/apache/是你安裝apache的路徑


附rotatelogs說明

rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]

選項
logfile
它加上基准名就是日志文件名。如果logfile中包含’%',則它會被視為用於的strftime(3)的格式字串;否則,它會被自動加上以秒為單位的.nnnnnnnnnn后綴。這兩種格式都表示新的日志開始使用的時間。
rotationtime
日志文件回卷的以秒為單位的間隔時間
offset
相對於UTC的時差的分鍾數。如果省略,則假定為0,並使用UTC時間。比如,要指定UTC時差為-5小時的地區的當地時間,則此參數應為-300。
filesizeM
指定回卷時以兆字節為單位的后綴字母M的文件大小,而不是指定回卷時間或時差。

下列日志文件格式字串可以為所有的strftime(3)實現所支持,見各種擴展庫對應的strftime(3)的手冊。
%A 星期名全稱(本地的) 
%a 3個字符的星期名(本地的) 
%B 月份名的全稱(本地的) 
%b 3個字符的月份名(本地的) 
%c 日期和時間(本地的) 
%d 2位數的一個月中的日期數 
%H 2位數的小時數(24小時制) 
%I 2位數的小時數(12小時制) 
%j 3位數的一年中的日期數 
%M 2位數的分鍾數 
%m 2位數的月份數 
%p am/pm 12小時制的上下午(本地的) 
%S 2位數的秒數 
%U 2位數的一年中的星期數(星期天為一周的第一天) 
%W 2位數的一年中的星期數(星期一為一周的第一天) 
%w 1位數的星期幾(星期天為一周的第一天) 
%X 時間 (本地的) 
%x 日期 (本地的) 
%Y 4位數的年份

 

例子:

(一)

在 Windows 下的設置

第一步:刪除 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文件處理方法

這幾天有會員和我說到網站訪問速度越來越慢。我查了一下,看到Apache2下面有兩個日志文件非常大了,加起來有800多M了。
分別是access.log和error.log。

於是在網上找找了給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″ 

這兩個日志文件每天都會起一個新文件,就不至於單個文件太大,打不開,而無法看到日志信息了. 
還可以把前面的日志文件刪除。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM