利用logrotate 进行日志管理

        在很多的应用程序中会打印日志,用以记录相应的操作。当随着时间的增加,日志文件的大小也会慢慢的变大。使得我们不得不去处理这些日志:备份、删除等…

在linux系统中有一个叫logrotate的工具,可以专门用来管理日志文件:定期的进行备份(也叫转储),删除日志文件。logrotate实现的原理是非常简单的,详情可以”百度”。

下面说一下我个人中常用的logrotate的配置选项:

1. logrotate的配置文件在/etc/logrotate.conf 。

2. 在这个文件中引用了一个目录/etc/logrotate.d/ , 我们可以把自定义的日志管理的配置文件放在这个目录下。下面是我的配置文件:

  1: #test the logrotate       ##注释

  2: /home/daniel/testlog.log  # 要转储的目标日志

  3: {

  4:     daily       #每天转储一次log

  5:     rotate 5    #保存最近五次的转储日志

  6:     size 1k     #转储的最小日志文件大小,小于时不转储

  7:     nocompress  #对转储的日志不进行压缩

  8:     ifempty     #对于空日志是不转储的

  9:     copy        #转储时copy原来的日志,原文件不变

 10:     copytruncate#copy完日志后,将原来的日志清空

 11:     dateext     #转储的日志,文件明后加上转储的日期

 12:     olddir /home/daniel/xtest # 转储的目标表文件夹

 13:     missingok   #如果找不到该日志文件,不报错

 14: }

这样的话,logrotate每天都会自动的去备份/home/daniel/testlog.log这个日志文件。

为了测试一下,这个配置,可以使用一下命令,看看是不是在/home/daniel/xtest/目录下生成了备份文件(文件的大小要大于size哦,这里是1k):

logrotate –v /etc/logrotate.conf

posted @ 2012-03-15 12:13  Better-zyy  阅读(621)  评论(0编辑  收藏  举报