apache 的轮换日志问题

使用cronolog可以格式化日志文件的格式,比如按时间分割,易于管理和分析。 
当apache日志太大了 也会严重影响服务器效率 
cronolog的安装配置非常简单,简要说明如下: 



1.下载软件 
http://cronolog.org/download/index.html 

2.解压缩 
gzip -d cronolog-1.6.2.tar.gz 
tar xf cronolog-1.6.2.tar 

2.进入相应的目录./configure 
3.make 
4.make install 
5.修改apache配置文件 

自定义日志格式 
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined 
如果在虚拟站点中也可以自定义日志的存放方式 

我用的方式 
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/%Y%m%d/access_log.%Y%m%d.%H" combined 
#每1个小时写1个log文件,自动删除log的文件在crontab -e配置 

自动删除7天前的log脚本 
用root帐号 crontab -e 
然后输入 
10 22 * * * /usr/local/apache/bin/rmlog.sh 
然后esc shift+: x 回车保存文件 
每天22点10分就会自动运行该脚本 
rmlog.sh脚本代码 


#!/bin/bash 
shlog=/usr/local/apache/logs/sh.log 
logpath="/usr/local/apache/logs/" 
today=$(date +%Y%m%d) 
file="access_log".$today 

oldfile="$logpath"$(date +%Y%m%d --date='7 days ago') 

echo $oldfile 


#if [ -f $oldfile ] 
#then 
rm -rf $oldfile >>$shlog 2>&1 
echo "[$(date +%Y%m%d)][$(date +%T)][$oldfile] Delete Success!">>$shlog 
#else 
# echo "[$(date +%Y%m%d)][$(date +%T)][$oldfile] No Old File!">>$shlog 
#fi 


这段脚本每次执行输出执行结果到一个sh.log文件中以让自己知道 执行结果

 

 


[root@server3 ~]# date
二 1月 9 09:47:22 CST 2007
[root@server3 ~]# /usr/local/ apache2/bin/httpd -v
Server version: Apache/2.0.54
Server built:  Sep 1 2006 16:58:34
[root@server3 ~]#
CustomLog "|/usr/local/ apache2/bin/rotatelogs /usr/local/ apache2/logs/music-access_log.%Y%m%d 86400 480" combined
TransferLog "|/usr/local/ apache2/bin/rotatelogs /usr/local/ apache2/logs/music-access_log.%Y%m%d 86400 480"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值