cronolog+crontab帮你更好的管理apache日志-阿里云开发者社区

开发者社区> 技术小胖子> 正文

cronolog+crontab帮你更好的管理apache日志

简介:
+关注继续查看
  我们都知道在Linux系统中,apache的日志都存放于安装目录下的logs目录下,当用户访问网站的时候,具体的信息就会记录在access_log文件中,但是随着访问量不断的增加,日志文件就会越来越大,以至于不能很好的去管理它,而cronolog这个小软件就可以很好的帮助我们实现日志的切割任务。
 
  默认情况下apache是不支持日志分段的,就是有规律的将日志切割开,从而便于我们管理,cronolog这个软件可以帮我们很大的忙,大家可以到 http://cronolog.org/download/index.html 网站中下载cronolog软件。
 
一、软件安装
  我下载的是源码包,软件的安装非常简单。
 
  tar zxf cronolog-1.6.2.tar.gz  //使用tar命令解压缩包
  cd cronolog-1.6.2  //进入到软件目录中
  ./configure –prefix=/usr/local/cronolog  //定义软件的安装目录
  make && make install  //编译安装
 
二、配置Apache
  软件安装过程中没有太复杂的东西,同样apache配置文件的修改也是非常简单,使用vi命令打开apache的配置文件httpd.conf
 
  1.在配置文件中找到CustomLog logs/access_log combined替换为CustomLog “|/usr/localcronolog/sbin/cronolog /www/apache/logs/web-%Y%m%d.log” combined

2.其中要注意你cronolog的安装路径及apache的日志路径,最后的web-%Y%m%d.log为日志分割的格式,我这里是以web-年月日的形式
 
  当我们重新启动apache访问网站后,可以看见apache日志已经按照日期的形式出现了,这样每天就会更新出一个新的日志,从而不会因为都在一个日志文件中而不便于管理。
 
三、配合crontab更加完美
  日志分割完了,我们还可以使用压缩命令将每天产生的日志进行打包处理,一是节省磁盘空间,同时还可以定期将压缩好的日志转移到其他地方备份起来,方便我们随时查看,而这个任务我们可以配合系统自带的crontab系统计划任务来实现。
 
1、首先我们在root目录下写一个压缩日志的脚本
 
  #!/bin/bash
LOG_WEB=”/etc/httpd/logs”  //根据自己的日志路径设置
  DATE=`date -d yesterday +%Y-%m-%d`  //指定时间为前一天
  cd $LOG_WEB  //进入日志目录
  /bin/gzip bak_web-$DATE.log  //执行压缩命令
 
2、然后我们保存脚本为“ziplog.sh”并设置可执行权限,之后我们就可以将其添加到crontab系统计划任务中了。
 
  crontab -e  //进入crontab的编辑界面,添加如下内容
  0 1 * * * sh /root/ziplog.sh  //设定每天凌晨1点执行脚本任务,保存退出
  使用“crontab -l”可以查看我们刚才添加的命令
 
  到此,我们就可以让apache日志有一个规律性的操作,从而方便的管理了,如果有需要我们还可以编写一个定期将apache日志转移的脚本,这里就不为大家演示了。
 
写在最后
  简单的系统命令及操作,只要很好的配合使用起来就能够完成很多任务,我想这也是Linux系统本身的魅力所在,还有更多技巧性的应用,慢慢去发掘吧!
 
       本文转自阿布ve 51CTO博客,原文链接:http://blog.51cto.com/abuve/649778,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Tablestore入门手册-数据管理-GetRow
GetRow接口概述     GetRow接口用于读取一行数据,是Tablestore最基础的API之一。官方提供了Java、Go、Node.js、Python、PHP、C#、C++ SDK。     本文以Java代码为例,对GetRow接口进行详细说明。 基本使用说明 参数说明 参数名称 是否必填 参数说
340 0
Apache Flink 零基础入门教程(六):状态管理及容错机制
本文主要分享内容如下: - 状态管理的基本概念; - 状态的类型与使用示例; - 容错机制与故障恢复;
979 0
git学习------>在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面
目前就职的公司一直使用SVN作为版本管理,现在打算尝试从SVN迁移到Git。安排我来预言并搭建好相关的环境以及自己尝试使用Git。今天我就尝试在Center OS系统上安装GitLab,现在在此记录一下整个安装过程。
3342 0
13668
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载