程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> 配置apache日志文件生成分割及自動清除日志文件

配置apache日志文件生成分割及自動清除日志文件

編輯:PHP基礎知識
 

我們在使用linux centos+apache服務器時,經常碰到一些訪問日志過大,分析時存在困難或者把硬盤占滿。所以需要定制apache日志產生的限制,以及自動清除。

一、按天分割日志文件或者按大小分割日志文件
1、按天分割apache日志文件
CustomLog "|rotatelogs /var/logs/logfilename.log 86400" common

完整的apache虛擬主機配置文件為(以下配置還需各位視自己情況配置,本文提供的僅作為參考):

   ServerName www.domain.com
   CustomLog "|rotatelogs /var/log/http/logfilename.log 86400" common
   DocumentRoot "/var/www/WebRoot/www_domain_com"
   
     Options FollowSymLinks IncludesNOEXEC
     DirectoryIndex index.html
       AllowOverride None
       Order Deny,Allow
       Allow from all
   
   
     SetOutputFilter DEFLATE
     BrowserMatch ^Mozilla/4 gzip-only-text/html
     BrowserMatch ^Mozilla/4.0[678] no-gzip
     BrowserMatch MSIE !no-gzip !gzip-only-text/html
     SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
     Header append Vary User-Agent env=!dont-vary
 


2、按容量分割apache日志文件
  使用的語法是:CustomLog logfile [ rotationtime [ offset ]] | [ filesizeM ]
示例:
CustomLog "|rotatelogs /var/log/http/logfilename_%d-%m-%y.log 10M" common

二、自動清除7天前的日志文件
  以下是shell命令,保存為dellog.sh存放在/root/目錄下
find /var/log/httpd/lelelady/ -mtime +7 -name "*.log" -exec rm -rf {} ;
設置crontab每天凌晨3點自動執行shell腳本。
00 03 * * * /root/dellog.sh

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved