访问日志切割

日志一直记录总有一天会把整个磁盘占满。假如,有个系统每天都要往一个目录里面写日志,一次1G,100G的硬盘也就100天就没有了,所以有必要让它自动切割,并指定任务计划删除老的日志文件。

[root@chy ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 
DocumentRoot "/data/wwwroot/111.com" ServerName www.111.com ServerAlias www.exaple.com 222.com #
#
#AllowOverride AuthConfig #AuthName "111.com user auth" #AuthType Basic # AuthUserFile /data/.htpasswd # require valid-user #
#
RewriteEngine on RewriteCond %{HTTP_HOST} !^111.com$ RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
ErrorLog "logs/111.com-error_log" SetEnvIf Request_URI ".*\.gif$" img SetEnvIf Request_URI ".*\.jpg$" img SetEnvIf Request_URI ".*\.png$" img SetEnvIf Request_URI ".*\.bmp$" img SetEnvIf Request_URI ".*\.swf$" img SetEnvIf Request_URI ".*\.js$" img SetEnvIf Request_URI ".*\.css$" img CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img
需要添加的内容为:CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img (其中rotatelogs这个是httpd的切割工具,-l 是以当前系统的时间为准,如果不指定-l是以utc为准。%Y%m%d代表的是年月日)