跳至主要内容

版本 1.2.1

概览

版本 1.2.1 是一个小版本发布,引入了对备份通知管理的重大增强,改进了审计日志记录功能,修复了下次运行/逾期检测的边缘情况,并添加了数据库备份和还原功能。该版本专注于改进用户的通知设置体验。

新功能

提升的备份通知管理

  • 服务器级默认值和继承系统:在服务器级配置默认的其他目标(通知事件、电子邮件和 NTFY 主题),所有备份都可以自动继承这些默认值。备份可以在需要时覆盖这些默认值,并且有明确的视觉指示器显示继承状态。
  • 改进的视觉层次:备份现在按服务器分组,具有明显的服务器标题行。继承的值用链接图标标记,覆盖的值可以轻松地恢复到继承。
  • 批量操作:"同步到全部" 按钮清除所有备份覆盖,使所有备份继承服务器默认值。"全部清除" 按钮清除所有其他目标,同时保持继承结构。
  • 测试功能:在备份通知设置页面直接添加了测试电子邮件和测试通知按钮。测试按钮适用于个别备份设置和批量编辑操作,允许您在应用更改之前验证通知交付。
  • QR 码支持:为 NTFY 主题添加了 QR 码按钮,方便与移动设备共享通知主题。

通知模板增强

  • {log_text} 变量:在通知模板中添加了 {log_text} 变量,提供对日志文本消息的访问,以便在通知消息中使用。该变量包含警告和错误的全文,格式为纯文本,每个项目一行。
  • 自动模板迁移:系统包括一个延迟升级机制,当旧默认模板首次被读取后自动检测和更新。自定义模板保持不变。

数据库管理

  • 数据库备份功能:管理员现在可以从数据库维护设置页面创建整个数据库的备份。支持二进制 (.db) 和 SQL 文本 (.sql) 格式,以提供灵活性。
  • 数据库还原功能:从以前创建的备份文件还原数据库,具有自动安全备份创建、完整性验证和失败回滚。所有会话在还原后都会被清除,以确保安全。

主密钥检测

  • 自动主密钥更改检测:登录后,系统会自动检查 .duplistatus.key 文件是否已更改。如果检测到,所有加密密码都会被清除,并且会弹出一个模态窗口,通知用户需要重新配置密码。这可以防止在从备份还原或迁移到新系统时发生错误。

备份监控改进

  • 增强的 CSV 导出:在备份监控设置中,"下载 CSV" 按钮生成的 CSV 文件添加了 "上次备份时间戳 (DB)" 列。这样,用户可以将实际的上次备份时间戳从数据库与配置的 "上次备份" 时间戳进行比较。
  • 下次运行工具提示:在每行中悬停在 "下次运行" 值上,现在会显示一个工具提示,显示数据库中的上次备份时间戳,格式与 "下次运行" 显示相同。

审计日志记录增强

  • 个别通知审计条目:每个通知和电子邮件现在都会生成一个单独的审计日志条目,包含有关渠道、配置和结果(成功或失败)的详细信息。这包括测试通知,提供更好的通知送达跟踪能力。
  • 健壮的失败日志记录:所有通知失败的审计日志记录操作现在都被try-catch块包围,以防止审计日志记录错误破坏通知流程。系统尝试在记录电子邮件失败时检索SMTP配置,如果它不立即可用。
  • 改进的配置更新审计日志记录email_config_updatedntfy_config_updated审计日志条目现在只在配置实际发生变化时记录。当检测到更改时,审计日志包括每个修改字段的旧值和新值,使得跟踪具体发生了什么变化变得更容易。

文档改进

  • 文档风格已更新以与应用程序的外观和感觉相符。侧边栏也已修订以提高可见性并使导航更容易。

🐛 错误修复

  • 修复审计日志时间戳:审计日志查看器中的时间戳现在正确地显示在用户的浏览器时区中,而不是GMT。SQLite时间戳(以UTC存储)现在正确解析为UTC并转换为浏览器的本地时区进行显示。
  • 更正"下次运行"计算和逾期检测:备份监控设置中的"下次运行"列现在可以准确计算和显示下一个预期备份日期,考虑到备份计划和上次备份时间戳。这适用于计划备份和手动运行的备份作业,从而实现更可靠的逾期检测。

🚀 迁移说明

从版本 1.1.x

升级到版本 1.2.1 时:

  1. 通知模板:系统将自动更新默认通知模板以包含新的 {log_text} 变量,在升级后首次访问时。如果您想在自己的模板中使用新的 {log_text} 变量,您需要更新它们或手动还原默认模板。

  2. 主密钥更改:如果您从备份中恢复或迁移到具有不同 .duplistatus.key 文件的新系统,系统将自动检测到这一点并提示您重新配置加密密码(SMTP密码和Duplicati服务器密码)。

  3. 数据库备份/还原:新的数据库备份和还原功能可在数据库维护设置页面中使用。建议在升级之前创建备份,尽管此版本不需要任何数据库架构更改。

  4. 无需数据库迁移: 此版本不需要任何数据库模式更改。


API 端点

以下 API 端点在此版本中引入。

身份验证和安全端点

  • GET /api/auth/admin-must-change-password - 检查管理员用户是否必须更改密码

数据库管理端点

  • GET /api/database/backup - 创建数据库备份(二进制或SQL格式)
  • POST /api/database/restore - 从备份文件还原数据库

备份管理端点

  • GET /api/backups/last-timestamps - 获取所有服务器-备份组合的上次备份时间戳

支持

获取帮助

报告错误

报告错误时,请包括:

  • 版本: 1.2.1
  • 操作系统和版本
  • Docker/podman 版本
  • 容器类型(Docker 或 podman/Pod)
  • 错误消息和日志
  • 重现步骤

更新日志

版本 1.2.1 更改

  • 添加: 服务器级别的默认值和继承系统用于备份通知
  • 添加: 测试电子邮件和测试通知功能在备份通知设置中
  • 添加: NTFY 主题的二维码按钮
  • 添加: "上次备份时间戳(DB)"列到备份监控 CSV 导出中
  • 添加: 提示工具到 "下次运行" 文本在备份监控设置中
  • 添加: 个别审计日志条目用于每个通知和发送的电子邮件
  • 添加: 加强审计日志记录的健壮性用于通知失败
  • 添加: {log_text} 变量到通知模板中,具有自动模板迁移
  • 添加: 自动检测主密钥文件更改
  • 添加: 数据库备份功能(二进制和 SQL 格式)
  • 添加: 数据库还原功能,具有安全备份和完整性验证
  • 添加: API 端点 GET /api/auth/admin-must-change-password 用于检查管理员密码更改要求
  • 添加: API 端点 GET /api/database/backup 用于创建数据库备份
  • 添加: API 端点 POST /api/database/restore 用于从备份还原数据库
  • 添加: API 端点 GET /api/backups/last-timestamps 用于检索上次备份时间戳
  • 更改: 改进审计日志记录用于电子邮件和 NTFY 配置更新(仅记录实际更改)
  • 更改: 密码更改表单不再需要确认时显示未屏蔽的密码。
  • 更改: 密码从内存中安全清除,当密码更改表单关闭时。
  • 更改: 包含密码视图切换在收集备份表单中。
  • 更改: {server_alias} 变量现在显示服务器名称在括号中
  • 更改: 文档更新,样式与应用程序对齐,侧边栏重构。
  • 修复: 审计日志时间戳显示在 GMT 而不是浏览器时区
  • 修复: 电子邮件和 NTFY 失败审计日志记录
  • 修复: "下次运行" 显示在备份监控设置中显示不正确的日期

许可

该项目在 Apache License 2.0 下许可。

Copyright 2025 Waldemar Scudeller Jr.