• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
PluralBackup

原创 插件 PluralBackup 1.0.3

请登录后获取
[MD] ### 修复 #### 时刻模式调度器启动条件 - **修复 `schedule.enabled: true` 但 `auto-backup: false` 时刻模式不启动的问题**(Nukkit版 / Java版) - 原因:`PluralBackup.onEnable()` 和 `BackupCommand.handleReload()` 仅在 `isAutoBackup()` 为 true 时才调用 `backupScheduler.start()` - 修复:改为 `isAutoBackup() || isScheduleEnabled()`,间隔模式或时刻模式任一启用即启动调度器 - 影响文件: - `src/main/java/cn/plural/backup/PluralBackup.java` - `src/main/java/cn/plural/backup/command/BackupCommand.java` #### 时刻模式同一分钟重复触发 - **修复时刻模式在同一分钟内被重复触发的问题**(Nukkit版 / Java版) - 原因:`BackupScheduler.checkSchedule()` 每 30 秒检查一次,同一分钟内会匹配两次,第二次触发时备份正在运行被拒绝 - 修复:新增 `lastTriggerMinute` 字段记录上次触发时刻,同一分钟内只触发一次 - 影响文件:`src/main/java/cn/plural/backup/manager/BackupScheduler.java` [/MD]
[MD] ## 2026-06-22 ### 新增功能 #### 定时备份(时刻模式) - **双模式定时备份**(Nukkit版 / Java版) - 新增"时刻模式",与原有"间隔模式"独立运行,可同时启用 - 支持自定义时区(如 `Asia/Shanghai`、`America/New_York`、`Europe/London`) - 支持 24 小时制(`HH:mm`,如 `00:00`、`12:00`、`18:30`) - 支持 12 小时制(`hh:mm a`,如 `12:00 AM`、`06:00 PM`) - 可配置多个触发时刻(`times` 列表) - 每 30 秒检查一次,匹配当前时区时间与配置时刻 - 时区解析失败时自动回退为系统默认时区 #### GitHub备份清理 - **手动GitHub上传后自动清理旧备份**(Nukkit版 / Java版) - 执行 `/backup github-upload` 后会自动清理本地旧备份 - 清理规则与本地备份共用 `max-backups` 配置 - 避免本地备份文件无限累积 ### 配置变更 #### 新增配置项 ```yaml backup: schedule: enabled: false # 是否启用时刻模式 timezone: "Asia/Shanghai" # 触发时区 use-24-hour-format: true # 是否使用 24 小时制 times: # 触发时刻列表 - "00:00" - "12:00" ``` ### 修改的文件 #### Nukkit版 - `src/main/java/cn/plural/backup/config/PluginConfig.java` - 新增4个字段和getter - `src/main/java/cn/plural/backup/manager/BackupScheduler.java` - 重写,支持双模式 - `src/main/java/cn/plural/backup/manager/BackupManager.java` - performGitHubBackup添加清理 - `src/main/resources/config.yml` - 添加schedule配置段 #### Java版 - `src/main/java/cn/plural/backup/config/PluginConfig.java` - 新增4个字段和getter - `src/main/java/cn/plural/backup/manager/BackupScheduler.java` - 重写,支持双模式 - `src/main/java/cn/plural/backup/manager/BackupManager.java` - performGitHubBackup添加清理 - `src/main/resources/config.yml` - 添加schedule配置段 ## [2026-06-18] - 云备份与通知扩展 ### 新增功能 #### 云端备份 - **百度网盘备份**(Nukkit版 / Java版) - 通过百度网盘开放平台 API 上传备份(分片上传:precreate → superfile2 → create) - 支持 access_token 自动获取与缓存 - 备份文件存放于网盘 `/apps/{app-folder}/` 目录下 - 申请地址:https://pan.baidu.com/union/console - **123云盘备份**(Nukkit版 / Java版) - 通过 123云盘开放平台 API 上传备份(create → get_upload_url → PUT → complete) - 支持秒传识别与分片上传 - 支持异步轮询上传结果 - 申请地址:https://www.123pan.cn/developer #### 告警通知 - **邮件通知**(Nukkit版 / Java版) - 通过 SMTP 协议发送告警邮件(支持 SSL/TLS) - 使用 jakarta.mail 实现 - 适配 QQ邮箱等主流邮箱服务(需使用授权码) - **飞书通知**(Nukkit版 / Java版) - 通过飞书自定义机器人 Webhook 发送告警 - 支持加签校验 - **钉钉通知**(Nukkit版 / Java版) - 通过钉钉自定义机器人 Webhook 发送告警 - 支持加签校验 - 通知触发时机:备份执行异常、云端上传失败、GitHub备份失败 ### 改进优化 - 云端上传集成到主备份流程,备份完成后自动上传到云端 - 通知发送采用 `CompletableFuture.runAsync()` 异步执行,不阻塞备份流程 - 配置文件增加 `notification` 段,统一管理所有通知渠道 ### 依赖变更 - 新增依赖:`org.eclipse.angus:angus-mail:2.0.3`(邮件通知) - 新增 shade relocation:`jakarta.mail` → `cn.plural.backup.lib.mail`、`jakarta.activation` → `cn.plural.backup.lib.activation` ### 配置变更 - `cloud.type` 新增可选值:`baidu`、`pan123` - 新增 `cloud.baidu` 配置段(app-id、app-secret、app-folder、access-token) - 新增 `cloud.pan123` 配置段(client-id、client-secret、access-token、parent-folder-id) - 新增 `notification` 配置段(enabled、email、feishu、dingtalk) [/MD]
后退
顶部 底部