一键删库脚本 misskey 冗余数据退出机制
一个类似于 mastodon tootctl statuses remove
的自动化删库脚本,用于删除数据库内符合特定条件的帖子与媒体文件记录。
名词定义:帖子链
帖子及其引用、回复的帖子以及被引用、被回复帖子所构成的集合
名词定义:关联用户
某用户关注的用户或关注该用户的用户
全部符合以下条件(包括但不限于)的帖子将被删除:
- 不是本地用户发出的
- 帖子链中没有本地用户及其关联用户参与
- 帖子链中没有置顶帖子
- 帖子链中所有帖子均不包含投票
- 帖子链中所有帖子均没有被收藏
- 帖子链中没有帖子发布时间超过清理时限
符合以下条件的媒体文件将被删除
- 符合删除条件的帖子链所引用的
- 仅被引用小于等于一次
- 没有在本地(包括对象存储)实际存储文件
注意:该操作为不可逆操作,操作不当可能会使数据丢失,请慎重。
python3 mkcl.py [-h] [-c PATH] [-d DAY] [-s DATE]
-c
为misskey配置文件路径,默认.config/default.yml
-d
为清理结束距今天数,默认为28 -s
为清理开始日期默认为2021-01-01
例子:
python mkcl.py -d 50 -c config.yml -s 2020-12-01
推荐使用-w
周清模式,定时每周运行一次。
python3 mkcl.py -w 8 -c config.yml # 清除8周前到9周前的帖子
-
2023.10.0
版本后misskey数据库有变动,需下载最新版本mkcl并安装依赖。
pip install -r requirements.txt