真实操作案例自动化与工作流

自动化数据备份:Tokeny 实操案例

实现仅针对当前目录 input/ 的增量备份脚本,第一次备份后修改一个演示文件再运行一次,记录拷贝与跳过项并校验哈希。不删除源文件或历史备份。

作者:Tokeny 团队 · Windows · Tokeny 1.7.8 · gpt-6-sol

准备这次任务的输入

在 Tokeny 中新建工作空间,将下载的样例解压到工作空间,选择支持工具调用的模型。本例使用合成演示数据或文中列出的公开资料。

  • input/a.txt
  • input/b.txt
下载输入样例

把任务交给 Tokeny

实现仅针对当前目录 input/ 的增量备份脚本,第一次备份后修改一个演示文件再运行一次,记录拷贝与跳过项并校验哈希。不删除源文件或历史备份。

交付文件:backup.py、backup-log.json、backup-manifest.json。
验收要点:
- 两次执行有记录
- 第二次仅复制变化文件
- 源文件和备份哈希可核对
这是使用合成演示输入或指定公开资料的真实操作案例。请先读取工作空间输入,再实际生成文件并自检。所有写入、脚本与临时服务限于当前工作空间;临时服务只监听 127.0.0.1,执行后关闭;不触达外部收件人、不发布、不付款、不更改系统设置,不调用子智能体。需要公开资料时可读取给定 URL。只启用完成任务必需的工具。另写 report.md(中文)和 report.en.md(英文),简洁、完整,包含输入、处理步骤、真实结果、检查方式和局限;失败或未验证部分如实记录,不能宣称成功。最终回复用中文列出产物、关键结果与待核实项。
排版检查:Word 主标题仅出现一次,标题为黑色且与后续正文或表格保持同页;表格的标题、表头和第一条数据保持同页,单行不要跨页拆分;Excel 表头和长文字不能被窄列截断,合理设置列宽、换行、行高;HTML 在 390px 视口不能整页横向溢出。临时网络服务请用系统分配端口(0),记录实际端口,不使用固定端口,避免并发案例互相访问。报告没有固定字数要求,不要为字数反复改写。
复核后追加的任务(1 次)
独立复核发现 backup.py 对变化文件使用 copy2 覆盖原备份,不能保留历史版本。请修复为真正保留历史的增量备份:保留现有输入和备份,不删除既有日志;改用内容哈希对象或版本目录保存不可变版本,再用最新清单引用。使用当前 input/a.txt、input/b.txt 作为本轮基线,先备份,追加一次新的演示变更到 a.txt,再备份,最后再无变化运行一次。实际验证前后两个版本都可从备份恢复,b.txt 不被重复复制、第三次都跳过,并把版本路径与哈希写入 backup-manifest.json,追加 backup-log.json。报告如实说明最初实现曾覆盖旧版本,原始首次备份不能声称已保留,升级后的实测从当前基线开始。

本次使用独立演示工作空间。复现时,请根据自己的文件与权限设置检查操作,确认后继续。

实际执行过程

任务从 Tokeny 输入框提交,由在线模型读取资料并调用工具实际执行。本例核对本地演示任务与实际生成的文件,结果和检查方法见下文。

Tokeny 1.7.8 中「自动化数据备份」的真实执行会话与生成文件。点击可查看原图。
Tokeny 1.7.8 中「自动化数据备份」的真实执行会话与生成文件。点击可查看原图。

产物、结果与复核

输入与历史边界

本轮使用当前 input/a.txt(56 字节)和 input/b.txt(22 字节)作为基线。原脚本把变化文件复制到固定的 backup/a.txt,曾覆盖更早内容;最初首次备份的原始 a.txt 版本没有保留,不能声称可恢复。旧日志中的运行 1、2 保留,原平面备份 backup/a.txt、backup/b.txt 未删除。本轮不可变版本历史从运行 3 开始。

处理步骤与实际结果

升级 backup.py,按 SHA-256 存储到 backup/objects/sha256/<hash>;清单按文件列出不可变版本的路径、哈希、大小、创建运行号和最新引用,日志继续追加运行记录。依次执行:

日志运行操作复制跳过
3备份当前基线a.txt、b.txt无
4向 input/a.txt 追加一行后备份a.txtb.txt
5无变化再运行无a.txt、b.txt

当前日志共有 5 条记录(旧 2 条、新 3 条)。本轮 a.txt 两个版本分别为:

  • 基线:backup/objects/sha256/49ce70f2ac0124e2b3d0cbcdc75c856cf43bc9e65b7d2eeb764f67c48a2df837,SHA-256 为 49ce70f2ac0124e2b3d0cbcdc75c856cf43bc9e65b7d2eeb764f67c48a2df837。
  • 更新版:backup/objects/sha256/002a17c09c1f50d7220d442489b23f9f90757e6ca51d7a8c054aa28918678188,SHA-256 为 002a17c09c1f50d7220d442489b23f9f90757e6ca51d7a8c054aa28918678188。
  • b.txt 仅有一个对象:backup/objects/sha256/61a5d0fe18e01fe734ccc7860a88e25b1b026f585cff8b15caa6c6f2ed88cf4c,SHA-256 与文件名一致。

检查方式

已把两个 a.txt 对象分别复制到 .tmp/tokeny/backup-restore-20261107/a-version-1.txt 和 a-version-2.txt 实际恢复:内容不同,各自哈希与清单相符,第二版与当前 input/a.txt 完全相同。还检查全部对象哈希、当前源文件与最新清单哈希、旧日志仍在、运行 4 的 b.txt 未重复复制、运行 5 两文件均跳过,以及原平面备份仍在。

局限

没有恢复升级之前已被覆盖的最初原始 a.txt 内容;本轮基线是当时现存的 input/a.txt。脚本不删除消失的源文件所对应对象,也未测试并发执行、复制时源文件变化、权限错误、符号链接和大规模数据。未启动网络服务。Word、Excel 和 HTML 排版要求不适用于本次 Markdown/JSON/Python 产物。

下载产物,自己核对

压缩包保存本次执行生成的文件。替换成自己的资料后,可以按下面的检查点验收。

  • 两次执行有记录
  • 第二次仅复制变化文件
  • 源文件和备份哈希可核对
backup.py · 5 KBbackup-log.json · 2 KBbackup-manifest.json · 2 KBreport.md · 2 KBreport.en.md · 3 KB
下载本次实际产物

继续探索同类场景