红联Linux门户
Linux帮助

定时保存apache日志文件

发布时间:2017-02-19 09:15:59来源:linux网站作者:子在梦中曰
之前在写代码的时候,发现apache的日志文件太大了,就想写个脚本定时备份apache日志文件。
 
需要注意,文件在备份之后,如果直接删除原日志文件,因为apache还是持有原文件的句柄,如果不重启apache,后面的日志将会写入不进去。解决方案是不删除原日志文件,而是清空里面的内容。
 
#!/bin/bash
#初始化文件路径,日期等信息
YEAR=`(date +"%Y")`
MONTH=`(date +"%m")`
DAY=`(date +"%d")`
LOGBASE=/var/log/apache2
ACCESSBASE=$LOGBASE/access
ACCESSLOGFILE=$ACCESSBASE/$YEAR$MONTH$DAY.log
#创建目标文件夹,复制日志文件并将清空日志文件内容
mkdir -p $ACCESSBASE
chmod -R 777 $ACCESSBASE
cp $LOGBASE/access_log $ACCESSLOGFILE
> $LOGBASE/access_log
ERRORBASE=$LOGBASE/error
ERRORLOGFILE=$ERRORBASE/$YEAR$MONTH$DAY.log
mkdir -p $ERRORBASE
chmod -R 777 $ERRORBASE
cp $LOGBASE/error_log $ERRORLOGFILE
> $LOGBASE/error_log
 
本文永久更新地址:http://www.linuxdiyf.com/linux/28523.html