旋转Apache日志文件的最佳方法
时间:2020-03-05 18:47:41 来源:igfitidea点击:
我有一个Apache服务器,该服务器具有一个访问日志文件,该访问日志文件的大小最高为600MB。这使得搜索文件或者解析文件变得非常困难。
有哪些适用于Apache的软件或者模块可以每天制作访问文件的副本,以使其更易于管理?
解决方案
回答
我们是否看过logrotate,这可能是实现此目的的最简单,应用最广泛且最易理解的方法。它是高度可配置的,可能会完成我们需要的90%。
回答
logrotate可能是最好的解决方案。使用文件" /etc/logrotate.conf"来更改所有日志的设置。我们可以将"每周"更改为"每日",以便每天轮换日志。另外,我们可能想添加compress
,以便压缩档案。如果我们不关心旧日志,可以将"旋转4"设置为更低的值。
回答
我是Cronolog的忠实粉丝。只需安装并通过它传送日志即可。对于每天的日志轮转,类似这样的方法将起作用:
ErrorLog "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/error.log" CustomLog "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/access.log" combined
很方便,而且一旦安装,就比logrotate容易(以我的经验)。
回答
Windows的实际命令很难在网上找到:
CustomLog '|" "*Apache-Path/bin/rotatelogs.exe" "**Apache-Path*/logs/backup/internet_access_%d-%m-%y.log" 86400' combined
其中" internet_access"位是我们为文件选择的名称,而86400是一天中的秒数。我们需要将Apache-Path更改为已安装Apache的相关目录。
回答
Windows OS上的rotationlog.exe或者cronolog.exe。它们在http.conf中的管道命令中使用
Mod_log_rotate仅适用于Apache的添加模块用于访问日志旋转
仅对Unix操作系统进行Logrotate。
回答
我有一个模块可以为我们执行此操作,而无需外部管道等:
http://www.poptart.org/bin/view/Poptart/ModAutorotate
我尝试将其添加到Apache模块集合中,但现在似乎已经被破坏了一段时间。