一、基本概念
logrotate是一款系统日志文件管理工具,它可以帮助管理员进行日志文件的切割、压缩和备份。logrotate默认配置文件为/etc/logrotate.conf。
二、配置文件结构
logrotate.conf文件采用文本格式,由多个section组成。一个section由多个关键字和属性组成。常用section有:
/var/log/syslog { weekly rotate 4 compress delaycompress missingok notifempty create 0644 root root }
其中,第一行是日志目录,大括号中的内容是该日志的配置属性。
三、配置文件关键字
1.周期设置
daily:按天进行日志轮换
weekly:按周进行日志轮换
monthly:按月份进行日志轮换
yearly:按年份进行日志轮换
2.保存日志数量
rotate n:保留n个日志,旧的日志会被删除
3.压缩设置
compress:日志文件会被压缩成.gz文件
delaycompress:在下一次轮换之前,保留压缩前的文件
uncompress:在轮换时将.gz文件解压为普通文件
4.缺失日志处理
missingok:如果日志文件不存在,不进行任何处理
notifempty:如果日志文件为空,不进行任何处理
5.创建新文件
create:指定创建新文件的权限和属主
6.备份设置
copy:备份方式为拷贝原文件
dateext:备份文件名称会加上日期后缀
nocreate:不创建备份文件
nocompress:不进行压缩
nodateext:不加上日期后缀
norotate:不进行轮换处理
四、示例
以下是日志轮换的一些常用配置:
/var/log/messages { rotate 5 weekly size 100k compress delaycompress notifempty create 0600 root root }
每周轮换一次日志,保存5个备份文件,当一个日志文件超过100KB时就进行轮换,同时对压缩文件和旧日志文件进行延迟压缩。
五、总结
logrotate是一个简单而强大的日志管理工具,通过合理的配置可以大大节省系统的磁盘空间和数据备份工作。通过本文的介绍,读者应该能对logrotate的基本结构和常用配置有更深入的理解。