我的access.log是10.5GB – 什么是好的日志pipe理程序?

除了时不时之外,我们没有任何日志pipe理。 我们有一个服务器不会得到太多的stream量(大多数日志来自我们的实时聊天)。 但是这让我想知道应该采用什么样的日志pipe理程序来正确pipe理日志? 你是否设置好了,只logging特定的东西,这些日志会被擦掉这么多天? 访问日志应保存多久? 其他日志应该保存多久?

即使我的日志文件变得很大,因为它。 我使用几乎任何Linux发行版都可以使用的标准logrotate。

我已经configuration它来变动变大的东西,每天和其他人每周,等等。

试一试。 我甚至用xz压缩它们,所以这个文件相对较小,可以下载到你的私人盒子里进行审查,而不会在任何一方丢失很多的带宽。

有关更多信息,请参见man logrotate和man logrotate.conf。

首先明白你的web服务器附加到你的access.log,所以你应该把它的大小保持在最小。 当我的apache服务器的日志文件超过4 GB时,我的apache服务器开始加载的速度比较慢(我可能是唯一注意到的)。

给awstats一个尝试。 它会创build基于html的文件,使您可以获得很好的stream量视图,并且还会清除您拥有的大量access.log文件。 第一次运行这个应用程序需要很长时间,因为access.log非常大。

如果awstats或logrotate不能为你做,你总是可以用cron每天一次地攻击你的access.log:

echo“”> access.log

但我个人只有当我有一个巨大的日志文件,我需要截断非常快。 像这样截断日志真的是浪费日志。

使用cronolog来创build每小时的日志文件或每日日志文件。 看看如何使用它。

TransferLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/access.log" ErrorLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/errors.log" 

使用cronjob压缩上面的日志,以防止磁盘fillup和保留数据几天(可能是一个月)。

或使用logrotate旋转日志(如上面的答案中所述)