惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
B
Blog
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
博客园 - Franky
V
V2EX
IT之家
IT之家
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
F
Fortinet All Blogs
I
InfoQ
云风的 BLOG
云风的 BLOG
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Microsoft Security Blog
Microsoft Security Blog

豆沙工作室

不想(二)十七岁 小点阵字 Get an Oscilloscope 杰理 WTS 格式音频转换和打包 [11ty] 增量式地刷新 CDN 缓存 站起来,为你的成果答辩吧 公理还是定理? [11ty] 处理资产文件的 CDN 缓存问题 [11ty] 无障碍设计:正确地标识图和表 停止 Mac 上的时间机器备份 从 Gitea 迁移到 Forgejo 评论里的私信消息 招魂 Annihilation [11ty] 使用 Pagefind 实现静态站点的搜索 直面死亡 [11ty] 修复 RSS 里的数学公式 看到了一个神奇的 UA PreFound:10B - 四次击键 一点小小的 AI 震撼 PreFound:10A - 文本之外,还有(绘)文字 PreFound:09 - 色彩运算子 计算机不予申辩 Re-Game 2.0 Addendum C - Press START PreFound:08 - 动效与仿射 PreFound:07 - 图片拼贴报 PreFound:06 - 漫游雪花海 PreFound:05 - 写出到屏幕 And Trek I Will PreFound:04 - 举起渲染器
记得清理你的日志文件
dousha · 2026-06-22 · via 豆沙工作室

尤其是如果你的 Docker 服务很喜欢打日志的话。

最近发现传家宝机器的磁盘空间不够用了,是 Avail 列显示 0 的那种不够用。虽然这个机器满打满算也就 60GB 的硬盘空间,但是上面也并没有跑什么大型服务:现在它只是一台跑着静态博客的机器——以及还跑着一个万年没更新的 Gitea 实例。1700 多天的 uptime 本可以更长——阿里云擅自重启了一次这台机器,重置了之前已经有 1000 天的 uptime 记录。

ncdu 了一下 ~, 并没有用多少磁盘空间,只有个位数 GB. 这意味着至少挂在 ~ 下的 Gitea 卷并没有多大,而且之前 Maven 和 NPM Cache 都已经清理过了,~ 下面已经没有什么可以删除的了。

那么,或许是博客不断滚动更新的 Docker 镜像占用了太多空间?祭出 docker image prune -a. 但这条指令也只是释放了 1GB 多一点的空间。

或许问题出在别处。ncdu 了一下 /var, 看着一行行早已不再运行的服务滚过,心里也是五味杂陈。/var/lib/jenkins 下还陈列着过往的各个项目;/var/lib/mysql 还保存着各种实验留下的数据;这台机器上曾经发生过许多伟大的事情,不过那些都已经结束了。

突然,ncdu 的统计数字上跳了 20GB -- /var/lib/docker 下居然存在一个 20GB 大小的东西。仔细检查之后发现这个庞然大物是 Gitea 的 Docker 日志。这个玩意居然滚了 20GB 的日志出来!

好吧,之前写 docker-compose.yml 的时候没有给日志配置限额是我的问题:

services:
  gitea:
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "3"
    ...

然后清理掉原先的日志文件:

sudo truncate -s 0 $(docker inspect --format='' gitea)

再重新部署一下容器应用更改:

docker compose up -d

服务器硬盘空间不够的问题目前解决了。但紧接着的问题就是:怎么能搞出 20G 的日志文件的?除了单纯的「运行时间太久」?

还记得之前我说过大模型正在吞吃互联网么?看来大模型的爬虫很喜欢在 Git 服务里面对着每个项目的 PR 和 Issue 页一顿猛输出呢。但问题在于:我已经有差不多一年没有往这个 Gitea 实例上推代码了;而且这上面所有项目都没有 PR 和 Issue. 无论再怎么排列组合查询参数,都不会有任何变化的。

但是这些爬虫很显然并不能理解这个问题。它们就会一直不断地重新排列组合各种查询参数来访问一个始终是空白的页面。它们也会孜孜不倦地用同样的参数反复请求同一个页面,就像一个一直在电脑前按 F5 期待有什么事情发生的人一样。

更头大的是,Gitea 默认是不带 robots.txt 来告诉爬虫不要反复做无谓的工作的——它甚至不带一些绝对必要的阻拦,比如别让搜索引擎爬取 /api/ 或者搜索路径下的东西。

考虑到 Google 也发现了我还有个 Gitea 实例,而且从后台数据来看它也爬取了一堆排列组合,我只能先告诉 Google 不要爬取那些奇怪的东西:

User-Agent: *
Disallow: /api
Disallow: /repo/search
Disallow: /explore/search
Disallow: /*/issues
Disallow: /*/issues/
Disallow: /*/pulls
Disallow: /*/pulls/
Disallow: /*/packages
Disallow: /*/packages/
Disallow: /*/projects
Disallow: /*/projects/
Disallow: /*/activity
Disallow: /*/activity/
Disallow: /*/blame
Disallow: /*/blame/
Allow: /

然后 WAF 安排掉 GPTBotAmazonbot 这两个 UA. 至少现在它们两个还是会老老实实带上自己的大名的,之后就是看它们会不会伪装成普通浏览器继续骚扰了。