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"
关键字:apache 轮换 日志
新文章:
- CentOS7下图形配置网络的方法
- CentOS 7如何添加删除用户
- 如何解决centos7双系统后丢失windows启动项
- CentOS单网卡如何批量添加不同IP段
- CentOS下iconv命令的介绍
- Centos7 SSH密钥登陆及密码密钥双重验证详解
- CentOS 7.1添加删除用户的方法
- CentOS查找/扫描局域网打印机IP讲解
- CentOS7使用hostapd实现无AP模式的详解
- su命令不能切换root的解决方法
- 解决VMware下CentOS7网络重启出错
- 解决Centos7双系统后丢失windows启动项
- CentOS下如何避免文件覆盖
- CentOS7和CentOS6系统有什么不同呢
- Centos 6.6默认iptable规则详解