博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cronolog+crontab帮你更好的管理apache日志
阅读量:6891 次
发布时间:2019-06-27

本文共 1558 字,大约阅读时间需要 5 分钟。

  我们都知道在Linux系统中,apache的日志都存放于安装目录下的logs目录下,当用户访问网站的时候,具体的信息就会记录在access_log文件中,但是随着访问量不断的增加,日志文件就会越来越大,以至于不能很好的去管理它,而cronolog这个小软件就可以很好的帮助我们实现日志的切割任务。
 
  默认情况下apache是不支持日志分段的,就是有规律的将日志切割开,从而便于我们管理,cronolog这个软件可以帮我们很大的忙,大家可以到   网站中下载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,如需转载请自行联系原作者
你可能感兴趣的文章
如何解决域名解析不生效问题?
查看>>
Android开发者指南(9) —— ProGuard
查看>>
MySQL · 答疑解惑 · 物理备份死锁分析
查看>>
字符串指针修改问题
查看>>
JavaScript权威设计--跨域,XMLHttpRequest(简要学习笔记十九)
查看>>
跨入流式计算时代,用不着洪荒之力——在阿里云容器服务上一键部署JStorm
查看>>
通过JCONSOLE监控TOMCAT的JVM使用情况
查看>>
jquery editable plugin--点击编辑文字插件
查看>>
[Java] TreeMap、HashMap、LindedHashMap的区别
查看>>
javascript 常用自定义方法
查看>>
MariaDB · 新特性 · 窗口函数
查看>>
CSS 选择器
查看>>
怎样开发出稳定,健壮的Java程序(Java=restart )?
查看>>
thinkphp 3.2分布式数据库读写分离扩展阅读
查看>>
Cocos2d-x3.2 屏幕截图
查看>>
iOS流布局UICollectionView系列二——UICollectionView的代理方法
查看>>
HTG Explains: Why Linux Doesn’t Need Defragmenting
查看>>
java IO之 序列流 集合对象Properties 打印流 流对象
查看>>
iOS设计模式 - 代理
查看>>
iOS开发网络篇—HTTP协议
查看>>