如何控制 error_log 文件大小

如何控制 error_log 文件大小

我可以在 Apache 服务器上看到多个 error_log 文件。例如:error_log、error_log.1、error_log.2、error_log.3、error_log.4 ......

我认为最初会创建一个名为 error_log 的文件。然后,在对单个文件进行一定限制后,error_log 文件的所有内容将移至 error_log.1,并且新错误将插入到 error_log 中。

我想了解文件大小的限制是什么,或者服务器何时决定为 error_log 创建新的错误文件。我猜这一定是可配置的?

另外,我注意到示例中提到的所有文件的文件大小都不同。

请帮助我理解这个过程是如何工作的?

答案1

这个工具叫做 logrotate,旨在简​​化生成大量日志文件的系统的管理。它允许自动轮换、压缩、删除和邮寄日志文件。

每个日志文件可以按日、周、月处理,或者在日志文件变得太大时处理。使用此工具,您可以用更少的磁盘空间保存更长时间的日志。有关更多详细信息,您可以参考:http://linuxers.org/howto/howto-use-logrotate-manage-log-files

答案2

在标准配置下,Apache 将每天检查日志文件大小是否超过 1 MB。如果文件超出此限制,则会进行轮换。

您可以了解如何更改默认行为本教程

答案3

作为乔纳森默认大小超过 1MB,但你可以将 Apache 配置为更大的大小。例如,Apache 文档显示:

CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common

当日志文件达到 5 MB 大小时,此配置将轮换日志文件。

 ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"

当错误日志文件的大小达到 5 MB 时,另一个将轮换它,并且日志文件名的后缀将以 errorlog.YYYY-mm-dd-HH_MM_SS 的形式创建。

相关内容