Laravel的坑爹log

云服务器才20G硬盘,Laravel的log占了17G。。。

Posted on September 19, 2016 in Laravel

昨天晚上访问自己的博客,发现页面挂了。简单看了一下报错,发现是数据库崩了。于是第二天一早就去检查数据库,发现无法启动,想了想可能是log太多,于是删掉了数据库100多M的log,再启动,数据库有反应,但是显示空间不足。

这个时候就觉得很尴尬,明明log都删了,怎么还会空间不足呢?于是查了一下df -h,结果尴尬癌犯了,20G的硬盘,17G的空间被一个目录占了,再check,发现正是博客所在目录,而且是Laravel产生了17G的log。

第一次比较傻,用vim去查看,结果卡死了。后面学聪明了,用了less,才发现是mail类在报错。

想了想之前写blog的邮件系统时用了supervisor,但是没有正确配置,结果进程一直在跑,但是Laravel的job并没有正常执行,结果就是每秒生成几百k的log,不知不觉就到了17G。。。

下面简单讲下处理办法:

  • 可以把Laravel的log设成daily,这样不至于生成一个超大文件。而且这样log每周都会自动被清理。

  • CentOS下的supervisor设置有点不同,配置文件后缀要写成.ini

然后就没什么了,主要是第一次见到这么大的log,实在是有些尴尬。。。