apache默认的日志配置为:
    ErrorLog "logs/error_log"
    CustomLog "logs/access_log" common
这样所有的错误日志和访问日志内容均分别保存在error_log和access_log文件中,时间一长,日志文件的内容就会变的非常大。一般情况下,我们希望将日志按一定的时间段或文件大小存成不同的文件。如每天存一个日志文件。
此功能可通过LINUX的logrotate实现,但它有一个缺点,执行文件轮转时(即创建新文件后)可能需要通过脚本重启服务以实现将日志内容记录到新的日志文件中。
apache提供了一个命令:rotatelogs(位于apache的bin目录下),可以完美的实现日志的轮转功能。
rotatelogs的语法可通过 rotatelogs -h查看。
 
以下通过3个例子说明其常用用法:
ErrorLog "|/usr/app/httpd-2.4.2/bin/rotatelogs  /usr/app/httpd-2.4.2/logs/error_log.%Y-%m-%d 86400 480"
每天生成一个错误日志文件。
其中"/usr/app/httpd-2.4.2/bin/rotatelogs 为rotatelogs的绝对路径,看很多例子用相对路径bin/rotatelogs,我试了不行。记得路径前有“|”。日志文件/usr/app/httpd-2.4.2/logs/error_log.%Y-%m-%d最好用绝对路径,在我的测试中,有些可以用相对路径,但有些不行,会导致apache启动失败。
logs/error_log.%Y-%m-%d 为日志文件的格式,实际为:error_log.2012-10-23
86400为日志生成的时间间隔,即每隔86400秒生成一个新的日志,当然如果这段时间没有任何错误产生,不会生成新的日志文件。
480为时间差,以分钟为单位。文件的时间为美国时间,中国的时差要比美国多8个小时也就是480分钟,所以要加上480分钟。如果不加,那日志记录的时间就会比实际服务器时间晚480分钟。
 
CustomLog "|/usr/app/httpd-2.4.2/bin/rotatelogs /usr/app/httpd-2.4.2/logs/access_log.%Y-%m-%d.%H:%M:%S 180 480" common
每180秒生成一个access日志文件,文件名形如:access_log.2012-10-24.23:42:00
 
ErrorLog "|/usr/app/httpd-2.4.2/bin/rotatelogs  /usr/app/httpd-2.4.2/logs/errorlog.%Y-%m-%d-%H_%M_%S 2M +480"
当日志文件达到2M后生成新的日志文件,支持的单位为K,M,G
 
 
转载自:http://www.360doc.com/content/12/1024/23/10866842_243598545.shtml

apache日志轮转的更多相关文章

  1. apache日志切割

    一.日志切割 安装cronolog CentOS 5.4中编译安装Apache默认日志是不切割的,需要用用工具Cronnolog进行日志切割 1.下载及安装 wget http://cronolog. ...

  2. 基于Spring Boot的Logback日志轮转配置

    在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的.我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异.这里就结合Spring Boot配置一下L ...

  3. 09、日志轮转+rsync同步

    logrotate   -  rotates,  compresses,  and    mails system logs 日志轮转 rotate 日志切割 轮转   切割   备份   归档 常见 ...

  4. elk系列7之通过grok分析apache日志

    preface 说道分析日志,我们知道的采集方式有2种: 通过grok在logstash的filter里面过滤匹配. logstash --> redis --> python(py脚本过 ...

  5. logresolve - 解析Apache日志中的IP地址为主机名

    logresolve是一个解析Apache访问日志中IP地址的后处理程序. 为了使对名称服务器的影响降到最低,logresolve拥有极为自主的内部散列表缓存, 使每个IP值仅仅在第一次从日志文件中读 ...

  6. Apache日志分析

    Apache日志统计举例 加些来了解一下如何统计Apache的访问日志,一般可以用tail命令来实时查看日志文件变化,但是各种的应用系统中的日志会非常复杂,一堆长度超过你浏览极限的日志出现在你眼前时, ...

  7. 关于Apache日志的统计

    统计apache日志文件里访问量前十的ip并按从多到少排列 五月 31, 2012 by FandLR   Filed under Linux Leave a comment 解法1: cat acc ...

  8. Apache日志配置参数详细说明

    Apache日志按时间分段记录 在apache的配置文件httpd.conf中找到ErrorLog logs/error_log及CustomLog logs/access_log common Li ...

  9. Apache日志配置详解(rotatelogs LogFormat)

    logs/error_logCustomLog logs/access_log common--默认为以上部分 修改为如下: ErrorLog "|/usr/sbin/rotatelogs ...

随机推荐

  1. 直播未来属于RTMP还是HTTP?

    直播未来属于RTMP还是HTTP? HTTP 传视频比 RTMP 实现起来简单?HTTP 延迟太高? 答:直播通讯未来是属于html5的. 1,协议使用份额 如今国内90%的面向大众的直播平台都是采用 ...

  2. mysql批量替换数据库某字段部分内容

    update 表名 set 字段名=replace(字段名,’要替换的内容’,’替换后的内容’) eg:修改scenario表中的picture字段中的ip地址. UPDATE scenario SE ...

  3. 使用otl,报错:mysql Commands out of sync; you can't run this command now

    1.代码如下: void TestCache(otl_connect& otlConn) { try { ] = {}; sprintf(sql,"call test1(1)&quo ...

  4. JavaWeb学习总结(四)—ServletConfig和ServletContext

    一.ServletConfig 1. ServletConfig介绍: ServletConfig是Servlet中的init()方法的参数类型,服务器会在调用init()方法时传递ServletCo ...

  5. Image Cropper+java实现截图工具

    首先,请移步http://jquery-plugins.net/image-cropper-jquery-image-cropping-plugin下载iamge cropper的有关js文件及css ...

  6. ie、火狐、谷歌浏览器,光标定位问题

    IE:不管该行有没有文字,光标高度与font-size一致. FF:该行有文字时,光标高度与font-size一致.该行无文字时,光标高度与input的height一致. Chrome:该行无文字时, ...

  7. c++ 对象内存分配和虚函数

    1. c++类对象(不含虚函数)在内存中的分布 c++类中有四种成员:静态数据.非静态数据.静态函数.非静态函数. 1. 非静态数据成员放在每个对象内部,作为对象专有的数据成员 2. 静态数据成员被抽 ...

  8. SCCM部署win7操作系统,系统盘为D盘

    SCCM部署win7操作系统,系统盘为D盘 1. 系统部署完毕之后是这样的 2.解决方案 解决分发干净Windows7操作系统盘符为”D”的方法也比较简单. 在SCCM管理控制台中,打开”软件库””操 ...

  9. iOS 轻量级的数据库leveldb

    轻量级的数据库leveldb https://github.com/google/leveldb 一:在iOS下编译leveldb 终端: 1: git clone https://github.co ...

  10. 游戏引擎/GUI的设计与实现-序

    几年前写<嵌入式GUI FTK设计与实现>,没写几篇就停止更新了.当时自己研究过MicroWindows, X Window, DirectFB, GTK+和Android的GUI,又写过 ...