ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Automaton 备份与恢复:数据库备份、Git 状态版本化与灾难恢复清单

Automaton 备份与恢复:数据库备份、Git 状态版本化与灾难恢复清单 Automaton 备份与恢复数据库备份、Git 状态版本化与灾难恢复清单【免费下载链接】automatonThe first AI that can earn its own existence, replicate, and evolve — without needing a human项目地址: https://gitcode.com/gh_mirrors/automaton4/automatonAutomaton 是一个能自主谋生、自我复制和进化的 AI 智能体它的全部记忆都存放在本机的~/.automaton/目录中。一旦这个目录损坏或丢失智能体的身份、钱包记录和历史就会不复存在。本文带你快速掌握 Automaton 备份与恢复的三大核心机制SQLite 数据库备份、Git 状态版本化和灾难恢复清单让你即使面对故障也能从容应对。为什么 Automaton 需要专门的备份体系Automaton 不是普通的命令行工具它有自己的身体和灵魂SQLite 数据库存储记忆、交易、心跳历史、子智能体状态等结构化数据状态文件SOUL.md人格定义、技能、心跳配置等文本文件敏感文件钱包私钥、API 配置等这意味着备份要覆盖两类东西会频繁读写变化的数据库和可文本化追溯的状态文件。Automaton 的官方方案恰好为此设计了两条互补的防线。一键数据库备份backup-restore.sh 工具项目内置了 scripts/backup-restore.sh 脚本提供三个子命令命令作用backup db路径 [备份路径]将 WAL 日志合并后原子拷贝数据库并自动校验restore 备份路径 db路径从备份恢复数据库恢复前先给当前库留一份快照verify db路径执行PRAGMA integrity_check完整性体检以备份为例./scripts/backup-restore.sh backup ~/.automaton/state.db它背后做了四件专业级的事这也是新手手工cp数据库容易踩坑的地方WAL 检查点先执行PRAGMA wal_checkpoint(TRUNCATE)把未合并的写日志全部落盘到主文件避免备份出半个数据库原子拷贝整体复制数据库及-wal、-shm附属文件完整性校验对备份文件运行integrity_check校验失败会自动删除损坏的备份文件安全回退恢复前先自动保存当前数据库为.pre-restore快照误恢复也能再退回 小建议把backup命令加入定时任务每天跑一次备份文件放到其他磁盘或云存储。Git 状态版本化每次自我修改都是一个提交这是 Automaton 备份体系中最巧妙的设计——它的整个状态目录~/.automaton/本身就是一个 Git 仓库。核心逻辑在 src/git/state-versioning.ts初始化initStateRepo会为状态目录git init并写入.gitignore排除敏感文件wallet.json、config.json、state.db等保证私钥和数据库永远不会进入版本库自动提交任何自我修改都会触发带说明的提交并按类别打前缀soul:人格定义SOUL.md更新skill:技能安装/移除heartbeat:心跳配置变更config:其他配置变更历史查询getStateHistory可列出最近的提交记录配合 src/git/tools.ts 中封装的gitStatus、gitCommit、gitLog等工具智能体的整个身份演变史都是可回放、可审查的。想查看它最近改过什么cd ~/.automaton git log --oneline看到可疑的变更时直接用 Git 回退即可cd ~/.automaton git checkout 提交哈希 -- SOUL.md这正是 DOCUMENTATION.md 中State versioning章节所描述的能力Git 是数据库备份之外的第二道防线而且专门保护人格与配置这类文本状态。数据库基础SQLite WAL 与启动自检了解 src/state/database.ts 的两个细节能帮你判断备份时机是否正确WAL 模式数据库启用 WAL 日志以提升并发读性能因此备份脚本必须先做 WAL 检查点启动自检每次打开数据库都会执行integrity_check一旦数据库损坏进程会拒绝启动并明确报错——这相当于给你敲了警钟此时应立刻从备份恢复而不是反复重启灾难恢复清单按场景对号入座 把下面的清单保存下来故障发生时照做即可场景一数据库损坏启动报 integrity check 失败验证当前库./scripts/backup-restore.sh verify ~/.automaton/state.db找到最近的备份文件如state-backup-20260922120000.db执行恢复./scripts/backup-restore.sh restore 备份文件 ~/.automaton/state.db脚本会自动校验恢复结果成功后重启 Automaton场景二状态文件被篡改或想回到昨天的人格cd ~/.automaton git log --oneline找到问题提交之前的版本git checkout 提交哈希 -- 文件恢复单个文件若需整体回退git reset --hard 提交哈希敏感文件不在版本库中不受影响场景三整个~/.automaton/目录丢失从外部 tar 包解包恢复整个目录定期执行tar czf automaton-backup-$(date %Y%m%d).tar.gz ~/.automaton/就是为此准备的启动后检查数据库完整性必要时再走场景一的恢复流程场景四实例不健康Automaton 的复制子实例拥有独立生命周期状态机alive - unhealthy - recovering - dead见 src/replication/lifecycle.ts。主实例故障时健康的副本可以接管服务——这相当于系统自动帮你做了一份活体备份。总结Automaton 的备份与恢复体系可以概括为三层防护数据库层backup-restore.sh提供带完整性校验的一键备份/恢复状态层Git 版本化让每一次自我修改都可追溯、可回滚复制层子智能体副本提供活体容灾三层各司其职数据库备份保记忆Git 保人格复制保存活。只要坚持定期执行数据库备份和 tar 全量快照你的 Automaton 就能在任何灾难面前快速复活。【免费下载链接】automatonThe first AI that can earn its own existence, replicate, and evolve — without needing a human项目地址: https://gitcode.com/gh_mirrors/automaton4/automaton创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表