我有一台Apache服务器,其中一个访问日志文件高达600MB.这使搜索文件或解析文件变得非常困难.
Apache可以使用哪些软件或模块来制作我的访问文件的每日副本,以使其更易于管理?
您是否看过logrotate - 这可能是实现这一目标的最简单,最广泛可用且易于理解的方法.它具有高度可配置性,可能会达到您所需要的90%.
我是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的相关目录.
logrotate
可能是最好的解决方案.使用该文件/etc/logrotate.conf
更改所有日志的设置.您需要更改weekly
为daily
每天都会轮换日志.此外,您可能希望添加compress
以便压缩归档.如果您不关心旧日志,可以将旋转设置rotate 4
为较低的值.