我在一个PHP脚本中做了一百万次愚蠢的事情,所以我的apache错误日志现在是12兆! debugging不是一个好的情况。
我希望有人知道一个简单的方法来完成这一点。 如果没有,我会写一个BASH脚本。
谢谢。
logrotate /etc/logrotate.d/apache2或(file_to_be_rotated)
此工具可帮助您pipe理生成大量日志文件的系统。 它允许自动旋转,压缩,删除和邮寄日志文件。 每个日志文件可以每天,每周,每月或当它变得太大时处理。
删除文件并发送HUP信号到写入日志文件的过程是规范的事情。
对于Apache,最好重新加载服务。
这不直接回答你的问题,但它可能会给你更多的select。 Apache允许您将日志的输出传递给从stdin读取的进程。 我最喜欢的避免巨大日志文件的策略是通过一个名为cronolog的实用程序来pipe理Apache的日志输出,这个实用程序在大多数Linux安装中作为一个可选的包提供。 它不会旋转到名为error_log.1 , error_log.2等的文件,而是可以按照date和/或时间来完成。
例如:
ErrorLog "|/usr/bin/cronolog /path/to/httpd/logs/error_log.%Y-%m-%d"
这会将错误日志从2012年2月1日发送到名为error_log.2012-02-01的文件,并且一旦时间到2012年2月2日,就会开始写入error_log.2012-02-02等等。
无论您需要什么,您也可以将其设置为按月,按星期,按小时,按分钟或按秒旋转。 更多信息在cronolog.org 。
如果你真的有雄心壮志,你可以编写自己的Perl脚本,或者从stdin中读取任何内容,然后使用你想要的任何规则写入日志文件或执行操作(比如通过电子邮件发送),然后通过Apachepipe理日志。