怎样用Logrotate管理Linux日志文件?
日志文件是在确保Linux系统安全方面最有价值的工具。而logrotate是一个提供给管理员管理系统文档的程序。logrotate还可以用于备份文件,建立能被系统使用的副本。
什么是logrotate程序?
Logrotate是一个日志文件管理器。它用于定期从系统清除老日志和产生新日志。这个程序可以基于文件年龄或大小旋转循环,通常是由cron自动运行。此外,logrotate程序还可以用于压缩日志文件或配置发给用户的电子邮件。
Logrotate的配置
Logrotate程序是在 /etc/logrotate.conf配置的。这是一个text文档,包含许多配置选项(如下表)。可以给系统的任何日志制定配置参数。此外,这些选项还允许logrotate从其他日志文件读取和使用参数。
选项
- Functioncompress — 用gzip压缩旋转的日志文件。
- nocompress — 在不需要压缩旋转日志文件的情况下使用。
- copytruncate — 用于还在向开放日志文件写信息的过程。该选择将活归档日志文件制成副本。
- nocopytruncate — 把日志文件复制进备份,但该开放文件不会被裁剪。
- create mode owner group — 旋转日志文件并创建允许特定组合用户的新文件。缺省是使用与原始文件一样的模式,组合用户。
- nocreate — 可以防止产生新日志文件。
- delaycompress — 在使用压缩选择时,旋转文件不会在下一个循环开始时被压缩。
- nodelaycompress — 日志文件会在循环过程中被压缩。
- errors address — 将logrotate错误邮件发送到某个地址。
- ifempty — 即使在空文件时也要旋转。这是Logrotate的缺省项。
- notifempty — 空文件不旋转。
- mail address — 这个邮件日志文件是循环到一个地址,因此能有效从系统中清楚。
- nomail 在邮件日志循环时,副本不邮寄。
- olddir directory — 这个选项会将循环日志文件保持在特定目录。该目录必需与现有日志文件在同一文件系统。
- noolddir — 循环的日志文件与现有文件处于相同目录。
- prerotate/endscript — 结束和执行旋转任务。
- postrotate/endscript — 可以在一个日志文件旋转时执行的命令。
- daily — 每日旋转日志文件。
- weekly — 每周旋转日志文件。
- monthly — 每月旋转日志文件。
- rotate count — 在删除前旋转文件的特定次数。如果计数为零,就意味着没有副本保留。而5则意味着保留5个副本。
- tabootext [+] list — This directs logrotate to not rotate files with the specified extension. The default list of extensions is .rpm-orig, .rpmsave, v, and ~。
- size size — 在日志文件达到一定大小时开始旋转。大小是以bytes (默认), kilobytes (sizek)或megabytes (sizem)计算。
/etc/logrotate.conf文件
Logrotate.conf这个文件是在安装时就确定的默认配置。可以根据自己的需要进行额外配置。
相关文章: