如何设置/ home / httpd / … / stats / error文件的增长限制

我有一个VPS帐户。

文件:

/home/httpd/..../stats/...-error_log 

logging了如此多的错误,以至于在24小时内填满了20GB的硬盘空间,其中包括其他问题,导致我的邮件访问被closures等等。

大多数这些错误是重复的和次要的,我最终会解决它们,但我怎么能先设置错误logging, 以便创build各种文件,并删除旧的之前,它使新的 ? 这是我从过去一直从事的Linux Web服务器上工作的记忆。 我会认为这将是实际设置的默认,是不是在大多数VPS服务器(我的帐户使用CentOS)?

限制日志大小的最好方法是使用logrotate。 看看“man logrotate”和/etc/logrotate.conf。 您可以将其configuration为在达到特定的年龄或大小时自动压缩和旋出日志; 大小是在你的情况下更好的select。

有几个选项可供探索…

首先:你总是可以进入Apacheconfiguration,并禁用特定的错误日志,直到你准备好处理这些问题。 find/ etc / httpd目录中的ErrorLog行,并将其注释掉。

其次:你可以每小时运行一次“logrotate”。 我假设已经有一个每日login,不到24小时的事情是什么导致你的麻烦。 在CentOS上,用于旋转该日志的configuration应该位于/etc/logrotate.d/httpd中 – 您可以根据该日志文件的大小而不是基于时间的大小。 除非你传递一个自定义configuration的小时版本,否则会使其他文件的日志旋转不同步。 只需将/etc/cron.daily/logrotate复制到/etc/cron.hourly/logrotate即可。

第三:看看“rotatelogs”。 这是与Apache,并有自己的手册页。 缺点是它不会删除,只是按照标准(比如大小,时间等)来分割日志。 所以你还是需要一个

第四:压缩日志。 GZip应该在大多数日志文件上获得10:1的压缩率。 这样的事情:ErrorLog“| gzcat> /home/httpd/…./stats/…-error_log.gz”(但要确保你有某种工作轮换,否则你会有同样的问题几天)