天天看点

Apache日志分割脚本

【产生背景】

随着公司的ntp中心服务器访问越来越大,access日志也是日益增加,原有的日志没有进行切割,单个日志文过大(最大的有3.7G),若清理磁盘空间会将访问日志整个删除,这样会丢失很多重要的信息,因此对日志进行切割是很有必要的,这样若日后文件过多,也可以删除历史文件。

【脚本】

1

2

3

4

5

6

7

8

9

<code>#!/bin/bash</code>

<code>YESTERDAY=$(</code><code>date</code> <code>-d yesterday +%Y%m%d)</code>

<code>GZIP=</code><code>"gzip -c"</code>

<code>LOG_FILE=</code><code>"/etc/httpd/logs/access_ntp.log"</code>

<code>LOG_BACKUP_FILE=</code><code>"/etc/httpd/logs/access_ntp_backup/access_ntp_${YESTERDAY}.log.gz"</code>

<code>$GZIP ${LOG_FILE} &gt; ${LOG_BACKUP_FILE}</code>

<code>&gt;${LOG_FILE}</code>

将脚本加入到cron中

<code>echo "0 0 * * * /bin/sh /scripts/rotate_access_log.sh &amp;&gt;/dev/null" &gt;&gt;/var/spool/cron/root</code>

每天的0点0分在/etc/httpd/logs/access_ntp_backup目录下生成一个压缩的日志文件,形如access_ntp_20160514.log.gz

本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1773549,如需转载请自行联系原作者