提问人:Scott Gottreu 提问时间:9/4/2008 最后编辑:kjonesScott Gottreu 更新时间:9/14/2019 访问量:109913
轮换 Apache 日志文件的最佳方式 [已关闭]
Best way to rotate Apache log files [closed]
问:
我有一个Apache服务器,它有一个访问日志文件,最高为600MB。这使得搜索文件或解析文件变得非常困难。
有哪些适用于 Apache 的软件或模块可以每天复制我的访问文件以使其更易于管理?
答:
你有没有看过 logrotate - 这可能是实现这一点的最简单、最广泛可用和最容易理解的方法。它是高度可配置的,可能会完成您需要的 90%。
评论
logrotate
logrotate
logrotate
可能是最好的解决方案。使用该文件更改所有日志的设置。你换了一辆货车,所以原木每天都会轮换。此外,您可能希望添加以压缩存档。如果您不关心旧日志,可以将 rotate 设置为更低的值。/etc/logrotate.conf
weekly
daily
compress
rotate 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 的相关目录。
评论
-n 4
-L basename
unable to open log error
在 Windows 操作系统上旋转日志 .exe 或 cronolog.exe。它们用于 http.conf 的 pipe 命令 Mod_log_rotate apache 的附加模块,仅用于访问日志轮换 Logrotate ONLY 用于 unix 操作系统。
我有一个模块可以为您做到这一点,而无需外部管道等:
http://www.poptart.org/bin/view/Poptart/ModAutorotate
我试图将它添加到Apache模块集合中,但这似乎已经有一段时间了。
CustomLog “|bin/rotatelogs /var/logs/logfile 5M” 通用
每当日志文件达到 5 MB 的大小时,此配置将轮换日志文件。
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
这将是重定向 Apache 日志的最佳方式。无需使用 httpd 编译 mod。
评论
rotatelogs.exe -n 3 filepath 1M
)
rotatelogs -t ... 100M
rotatelogs
评论