数据管理
Ech0 提供多种数据管理方式,保障数据安全与完整性
数据管理
Ech0 提供灵活的数据管理方案,以满足不同使用场景下的数据安全与备份需求。无论是通过 Web 面板、TUI 界面,还是命令行(CLI),您都可以高效地备份、导出与恢复数据。
Web 在线管理
在 Ech0 管理面板 → 数据管理 中,您可以直观地执行以下操作:
- 创建快照:立即保存当前数据状态。
- 导出快照:将快照下载至本地进行独立备份。
- 恢复快照:从备份文件中恢复数据,支持零停机恢复机制。
若恢复后未立即显示最新数据,可手动重启容器以确保缓存同步。
docker restart ech0
TUI 数据管理(终端用户界面)
适用于 二进制安装版本用户(非 Docker 环境)。
Ech0 提供一个内置的 TUI(Text-based User Interface),用于在命令行终端快速管理数据。
# 启动 TUI 数据管理界面
ech0 tui在 TUI 模式下,您可以:
创建、导出、恢复快照
TUI 适合服务器环境或偏好可视化终端界面的用户。
CLI 命令行管理
CLI 工具同样适用于 二进制安装用户,提供直接命令方式备份与恢复:
手动创建备份
ech0 backup
从指定文件恢复数据
ech0 restore ./backup/ech0-2025-11-09.db
Ech0 的 CLI 使用 Go 语言的 Cobra 框架实现,核心命令结构如下:
var backupCmd = &cobra.Command{
Use: "backup",
Short: "备份数据",
Run: func(cmd *cobra.Command, args []string) {
cli.DoBackup()
},
}
var restoreCmd = &cobra.Command{
Use: "restore",
Short: "恢复数据",
Run: func(cmd *cobra.Command, args []string) {
if len(args) < 1 {
cmd.Help()
return
}
cli.DoRestore(args[0])
},
}CLI 适合自动化脚本、CI/CD 集成或远程 SSH 管理等场景。
⚠️ 注意事项
如果使用 Web 管理面板、TUI 或 CLI 三种方式均无法成功恢复数据(例如恢复后数据仍为空或显示异常), 您可以尝试 手动替换快照文件 的方式进行恢复:
- 停止 Ech0 服务或 Docker 容器,以防止数据库文件被占用。
- 找到您的快照文件(通常位于 backups/ 或自定义导出路径下)。
- 将该快照文件复制并粘贴到 Ech0 的数据目录中(默认路径为 /opt/ech0/data,或您部署时映射的对应目录)。
- 替换掉原有的 ech0.db(SQLite 数据文件)后,重新启动 Ech0。
✅ 提示: 进行手动替换前,建议先备份当前的 data 目录,以便在出现问题时可以回退。
定时自动备份设置
Ech0 的自动备份计划通过 Web 管理面板 直接配置,无需手动修改系统 crontab。
在「设置 → 数据管理」页面中,可开启 自动备份 开关,并填写备份计划表达式。
🧩 计划表达式说明
Ech0 支持标准 crontab 表达式,可为 5 位或 6 位格式:
# 5 位格式(分 时 日 月 周)
0 2 * * 0
# 6 位格式(秒 分 时 日 月 周)
0 0 2 * * 0示例说明:
0 2 * * 0:每周日凌晨 2:00 进行一次自动备份
30 3 * * *:每天凌晨 3:30 自动执行备份
0 */6 * * *:每 6 小时执行一次自动备份
后台会自动根据此计划执行 backup 任务,并在日志中记录执行结果。
💡 提示:系统在自动备份时会创建时间戳命名的快照文件,可通过 Web 面板查看或下载。