![如何避免日志文件变得太大?](https://linux22.com/image/619438/%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%8F%98%E5%BE%97%E5%A4%AA%E5%A4%A7%EF%BC%9F.png)
我有一个 Linux 进程生成非常大的日志文件。如果我不做任何事情,这些文件可能会无限增长。有没有办法限制文件的大小,并使其像某种 fifo 缓冲区一样只保留一定量的数据?
我也尝试过 logrotate,但一旦文件达到给定大小,它就无法运行。日志文件的增长速度非常快,我不想每天都运行 logrotate。
感谢您的帮助。
答案1
您可以使用专门针对相关日志文件的配置文件运行 logrotate,并将其放入更频繁运行的 cron 作业中,例如每小时或每 15 分钟运行一次。
看man logrotate
。
答案2
尝试:
/var/log/filexxx {
rotate 5
weekly
size 100k
}
这将始终保留 5 个文件,每周轮换一次或当其大小达到 100k 时轮换(先发生的情况)。