Discuz X2.5 attachment/temp不自动删除

一个DZX2.5的站,一天之内数据库几次挂掉:

discuz数据库错误

最后一次挂,在服务器上也无法登录mysql了,重启也失败:

MySQL manager orserverPIDfilecould not befound![FAILED]
Starting MySQL.Manager of pid-file quit without updating file.[FAILED]mysql

 

查看mysql 日志,发现如下内容:

130317 22:28:03 [ERROR] /*/mysql/libexec/mysqld: Disk is full writing '/***/forum_post.MYI' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)

硬盘满了?感觉硬盘不会就这么满了的,但是df -h看了下,确实满了:

硬盘被塞满

命令du –sh *,查找塞满硬盘的元凶,原来是discuz attachment/temp目录下的临时文件占用了大量硬盘空间:

元凶temp

直接进去,rm –rf *,干掉这些临时文件,可是这些文件是怎么来的呢?前些天我另一个小论坛也积了1G多的temp文件。搜索了下,发现自从去年10月左右不少人遇到过这个问题,而且好像有一个共性,就是开启了远程附件。

我那个小论坛删除了temp下的临时文件后,这几天都仅生成了些0kB的临时文件,对论坛没多大影响,可是现在这个论坛,刚删除完才半小时,就又生成了630多M,这次不急着删了,倒要看看是什么东西这么霸道,进temp目录,du –sh *一看,一堆6M左右的临时文件,下载个来,改个图片的扩展名,gif,jpg都行,一看,尼玛居然是张广告图片:

真正元凶

图片宽度大于2000,不压缩一下就上传!

找到图片所在帖子,将图片宽度缩小为800替换原图,到目前为止,问题没有再出现。

不过,这样没有从根本上解决问题,还得靠discuz改进图片处理机制。

4 thoughts on “Discuz X2.5 attachment/temp不自动删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注