访问日志切割

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

[root@chy ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName www.111.com
    ServerAlias www.exaple.com 222.com
    #<Directory /data/wwwroot/111.com>
     #<filesMatch 123.php>
      #AllowOverride AuthConfig 
      #AuthName "111.com user auth"
        #AuthType Basic
       # AuthUserFile /data/.htpasswd 
      #  require valid-user
     # </FilesMatch>
      #</Directory>
     <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^111.com$
        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
 </IfModule>
    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
 </VirtualHost>
需要添加的内容为: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代表的是年月日)