在 Ubuntu 中根据文件大小轮换 Apache 日志

在 Ubuntu 中根据文件大小轮换 Apache 日志

我的服务器上有三个站点,它们的日志(Apache 日志)位于根文件夹中,而不是 /var/log 中。我需要一个脚本,根据文件大小轮换 access_log 和 error_log,例如,当文件大小超过 1G 时轮换它们。

服务器的操作系统是Ubuntu。

我具备 shell 编程的基本技能,但在学习方面很有天赋;)你能帮助我解决这个问题吗?

答案1

日志旋转可以配置为仅在日志超过特定大小时轮换,请参阅 minsize 选项。通常 logrotate 每天运行一次,但是如果您想在日志文件大小刚好等于或小于 1GB 时轮换,您可能需要一个脚本来监视日志文件并在日志文件超过限制时触发 logrotate。

或者,您可以坚持每天轮换较小的日志文件,但有一个 postrotate 脚本将轮换的日志连接成 1GB 的数据块。

答案2

您可以使用管理日志正是为此。
当达到限制时,它将自动轮换日志。
它还具有其他巧妙的功能,例如直接写入压缩文件、保留大量存档文件等。

相关内容