如何让Apache按天来生成日志

        首先要说的是,如标题所示,我已经找到了如何让Apache按天来产生日志的方法了。但是,先说点题外话,现在发现沟通和交流真的很重要,有些问题也许对你来说很棘手、很麻烦,但对别人来说或许只是A piece of cake,我所要说的是,当你遇到问题时,应该及时和身边的人进行交流,不要自己闷着去找,相信你最终肯定能解决问题,但是如果有一种更有效率的方式来解决你遇到的问题,那何乐而不为呢?也许别人能提供的只是一个方法,或者只是一个思路,甚至简单到就是一句话,但或许这对你来说就已经足够了。拿我自己来说吧,当我不知道怎么让Apache按天来生成日志的时候,我首先想到的和别人一样,那就是上google去找一下,也找到了很多方法,我就照着做了一些,可是发现有的可行性还不是很好,所以我就想有没有一种更好的方式呢,于是我决定去问身边的同事,因为公司里面有很多对Linux很熟的同事,问的结果是,他们告诉我可以用logrotate来做,因为他们通常都是这么做的,于是我在一台linux上输入了man logrotate,它的使用文档很快就呈现在了眼前,大体看了一下就明白了。下面言归正传:
         假如你的apache的安装目录为/usr/local/apache_test/它的日志文件在/usr/local/apache_test/logs/下面,通常访问日志为access_log,那么如何来做呢?
         1.在/etc/logrotate.d/目录下创建一个文件rotate_apache,运行命令touch rotate_apache(注:该文件用来告诉logrotate如何来按天轮循生成日志文件)
         2.编辑该文件vi rotate_apache,输入以下内容:
/usr/local/apache_test/logs/access_log{
     missingok
     daily
     rotate 10
     postrotate
            /bin/kill -HUP `cat /usr/local/apache_test/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
     endscript    
    compress
}
         3.OK了,就这么简单,之后你就会发现在apache的日志目录下会每天都产生一个文件,文件名如下:
                access_log.1.gz
                access_log.2.gz
                ....................

         这个工具(logrotate)以一种灵活的方式来对系统中的日志进行统一的管理,工作原理是这样的:它本身被加到了linux系统中的crontab中(但是我们从crontab -l中是看不到的),所以默认就会每天去执行一次,执行的配置文件为/etc/logrotate.conf,它会通过里面定义的内容来执行日志的切换工作,里面有好多可选的配置方式和参数。具体的内容请参照:http://dongwei.iteye.com/admin/show/145181

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值