利用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 #每天转储一次log5: 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