脚本编辑历史

青龙 2.23.0 起,脚本管理支持查看和恢复面板保存前的内容。在脚本工具栏选择“历史版本”,再选择一个版本与服务器当前已保存的脚本比较。桌面显示双栏对比,手机显示行内对比;尚未保存的编辑器草稿不会参与比较。

恢复前需要确认。如果编辑器有未保存的修改,请先保存或取消。恢复时会保留当前脚本内容,可以再次从历史中恢复。

哪些修改会记录

编辑器和调试窗口保存已有脚本、且内容发生变化时会记录旧内容,包含首次修改之前的内容。重复保存相同内容不会新增版本。

上传、新增、重命名、删除、订阅更新和在面板外编辑不会主动记录历史。外部修改后,下一次面板保存可以保留那一刻的内容,但不能找回外部修改之前的内容。重命名后不会自动迁移历史;历史也不能找回已经删除的脚本。

历史按脚本路径区分,不同目录的同名文件有各自的历史。指向同一脚本且在允许访问范围内的符号链接共用历史。

保存范围与清理

每个脚本最多保留 20 个旧版本,支持不超过 1 MiB 的 UTF-8 文本脚本,包括空文件。如果当前文件或新内容不符合要求,面板会要求确认“不记录历史直接保存”;取消后文件和草稿保持不变。确认保存前会再次检查当前文件,防止确认期间覆盖其他人的修改。历史损坏或存储权限错误不能通过这个选项绕过。

历史的整体清理目标是压缩文件合计不超过 32 MiB、最多 1000 个脚本。达到上限时,成功保存后优先删除最久未更新脚本的整份历史,当前脚本文件不会因此删除。

如果面板提示历史清理未完成,脚本已经保存,请检查数据目录权限和磁盘空间;后续保存会重新尝试清理。清理失败期间历史占用可能暂时超过目标。

备份与恢复

历史保存在数据目录的 script-history 子目录,应随整个数据目录一起备份。通过系统 API 导出 scripts 时,也会包含已经创建的 script-history;默认导出仅包含数据库和上传文件。

完整备份和恢复流程见维护与故障排查。自动化读取和恢复见脚本管理 API;远程命令见CLI 指南。