开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者

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

相关文章
日志分析实战之清洗日志小实例1:使用spark&Scala分析Apache日志
日志分析实战之清洗日志小实例1:使用spark&Scala分析Apache日志
0 0
Apache ShenYu 集成 RocketMQ 实时采集海量日志的实践
最佳实践 | 一起来了解 Apache ShenYu 如何集成 RocketMQ 实现日志的可观测性吧~
0 0
【Elastic Engineering】Elastic:使用 Elastic Stack 来监督 Apache 日志及指标
在我之前的许多文章中,我基本上都已经讲到了这些方面的内容。在今天的文章中,我想针对一些开发还没有自己的系统,比如 centos 或 Ubuntu OS 来写一篇非常详细的文章
0 0
[Apache,反向代理,日志,默认值,HTTP]Nginx日志配置详细教程
  nginx日志配置   nginx有一个非常灵活的日志记录模式。每个级别的配置可以有各自独立的访问日志。日志格式通过log_format命令来定义。ngx_http_log_module是用来定义请求日志格式的。   access_log指令   access_log path [format [buffer=size [flush=time]]];   access_log path format gzip[=level] [buffer=size] [flush=time];
0 0
Apache HttpClient库里的日志实现检测原理
Apache HttpClient库里的日志实现检测原理
0 0
Apache HttpClient库的日志级别设置原理
Apache HttpClient库的日志级别设置原理
0 0
Apache HttpClient库的日志级别设置原理
Apache HttpClient库的日志级别设置原理
0 0
apache不记录指定文件类型的日志
如果网站的访问量特别大,那么访问日志也就会很多,为了减少不必要的访问日志,我们可以将访问图片,js、css等对象的日志忽略掉
0 0
Apache的日志切割
当我们每访问一次网站就会产生若干条日志信息,如果日志都存放在一个文件中,时间久了日志文件将会越来越大,不仅占用空间也不方便运维和开发人员对日志的分析; 此时就需要对日志进行切割,比如按天或者按小时产生新的日志文件。
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《基于Apache Hudi的CDC数据入湖》
立即下载
Apache Flink 案例集(2022版)
立即下载
贺小令|Apache Flink 1.16 简介
立即下载