logrotate
是一个 Linux 工具,用于管理和轮转日志文件。它可以定期将日志文件备份、压缩和清理,以防止日志文件占用过多磁盘空间。以下是 logrotate
的详细使用方法:
1. 安装 logrotate
大多数 Linux 发行版默认都包含 logrotate
。如果没有安装,可以使用包管理器进行安装:
- Debian/Ubuntu:
- Red Hat/CentOS:
2. 配置 logrotate
logrotate
的配置文件通常位于 /etc/logrotate.conf
,并且可以为特定的应用或日志文件创建单独的配置文件。主要的配置文件路径为 /etc/logrotate.d/
。
配置示例
以下是一个简单的 logrotate
配置示例,用于管理 Supervisor 的日志文件:
主配置文件 /etc/logrotate.conf
:
应用配置文件 /etc/logrotate.d/myapp
:
3. 手动运行 logrotate
可以使用 logrotate
的 -f
选项强制运行日志轮转:
4. 检查 logrotate
状态
logrotate
的状态文件通常位于 /var/lib/logrotate/status
。可以查看这个文件来检查上次轮转的时间和状态。
5. 配置脚本执行
logrotate
支持在轮转日志之后执行自定义脚本,如重启服务、清理缓存等。可以在配置文件中使用 postrotate
和 endscript
来指定这些操作。
6. 日志轮转的高级配置
- 日志分割和压缩:可以选择不同的压缩方式,如
gzip
、bzip2
等。 - 配置自定义周期:可以配置按小时、按周或按月进行轮转。
- 特殊处理:例如,只在特定条件下轮转,或对不同的日志文件使用不同的策略。