解决 Gitea 空间占用变大的问题

今天提交代码,突然发现 gitea 又因为服务器空间不足挂掉了,其他的服务,比如博客、docker-ce、kodexplorer 网盘等都打不开了。

可我一个月之前就已经清理过了,删除了部分太大 nginx 的日志,删除了不用的 docker 镜像,删除了不用的 git 仓库。可今天一看日志,又有几个网站的访问日志达到了几百兆。毫无疑问,有爬虫在不停的访问。

于是,我先删掉部分无用日志,腾出一点空间,然后把部分较大的日志压缩,再删除原日志。

zip gitea.xxx.log.zip gitea.xxx.log
rm gitea.xxx.log

接着通过网盘把压缩的日志下载下来,解压,通过一个在线网站——Nginx 访问日志分析 查看日志。

从日志可以看出,仅仅一个月多一点就耗掉了近三百G流量,访问量达到了二百多万次。而我在 gitea 目录命令行执行 du -h 之后发现,gitea 占用了二十几个G 的空间。这太不正常了,因为我 gitea 里的包总共也没多大。

然后我去 gitea 的 github issue 上面搜了搜,发现了这个:Gitea server keeps filling up with bundle/zip archives

根据这个 issue 的回复可以知道,爬虫访问会导致 gitea 生成一些归档文件,而这些文件占用了大量空间。

所以,首先,禁用爬虫(《使用 robots.txt 阻止搜索引擎索引》)。到 gitea 安装目录,进入 custom,添加 robots.txt 文件,内容如下:

User-agent: *
Disallow: /

接着,需要删除已经生成的归档文件。在 gitea 的管理面板里有个工具可以安全地执行这个操作。

点击这个工具就可以删除归档文件。我执行之后,二十几个G 的空间就被释放了,服务器空间一下子就充裕了。