WheatSprig / mkcl

一键删库脚本(逃~

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mkcl

一键删库脚本 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

About

一键删库脚本(逃~

License:GNU General Public License v3.0


Languages

Language:Python 100.0%