Apache日志轮询工具rotatelogs,logrotate,cronolog

默认Apache日志默认不分割的,对于网站管理员来讲,很多人都会遇到网站的日志文件填满了,而手动删除又很麻烦,这时候就需要用到日志轮询。日志轮询要考虑到如下因素:

第一: 不中断WEB服务:不能停apache=>移动日志=>重启apache;
第二:保证同一天日志能够按天轮循:每天一个日志00:00:00-23:59:59;
第三:不受apache重启的影响:如果apache每次重启都会生成一个新的日志是不符合要求的;
第四:安装配置简单;

1.默认Apache自带日志轮询工具rotatelogs,基本是用来按时间或按大小控制日志的,无法控制何时截断和如何按天归档,因此不选择此方法;

2.使用logrotate来分割日志,logrotate是一个专门对各种系统日志(syslogd,mail)进行轮循的后台服务,比如SYSTEM LOG,但其配置比较复杂,实际上它也是对相应服务进程发出一个-HUP重启命令来实现日志的截断归档的,因此也不选择此方法;

3.使用cronolog可以将日志文件按时间分割,易于管理和分析,而且配置简单,因此选择此工具,具体安装配置如下:

3.1 安装cronolog

# yum -y install cronolog

3.2 配置cronolog

编辑虚拟主机配置文件,在其中加入如下代码即可实现按日分割日志

CustomLog "|/usr/sbin/cronolog /www/log/apache/www.123admin.com/www.123admin.com_%Y%m%d.log" combined