使用 restic 备份与恢复文件
快照可见不等于可恢复,仓库检查也不能代替应用级恢复
restic 适合服务器目录、配置、上传文件和构建产物的加密快照,可使用本地、远程或对象存储仓库。官方快速入门给出的基本闭环是初始化、备份、查看快照、恢复和 check。restic 官方文档
- 服务器文件、应用附件和需要保留历史版本的目录
- 迁移前独立备份、日常备份和恢复演练
- 需要客户端加密、去重和快照的中小规模环境
- 正在写入的数据库数据目录:应使用数据库原生一致性备份或经过验证的快照流程
- 需要复制云 IAM、数据库账号、对象存储策略或 Kubernetes 控制面的项目
- 把同一账号下可被同时删除的仓库当作唯一灾备副本
- 为仓库设置独立最小权限,备份客户端不应拥有删除整个存储账号的权限。
- 把仓库密码放在权限为
0600的文件或组织密钥系统中,通过RESTIC_PASSWORD_FILE或--password-file读取;不要把密码写进命令、脚本仓库或日志。restic 官方也支持密码文件与密码命令。仓库准备说明 - 仓库密码和恢复说明要有独立保管副本;无法取得密码时不能恢复。
- 先用测试仓库演练保留和清理策略,生产仓库不要直接试验
forget或prune。
以下变量只表示路径,实际值应由受控运行环境提供:
首次创建仓库只能执行一次:
执行备份并保存退出码和日志位置:
排除文件必须版本化并评审,避免把数据库临时文件、缓存、套接字或敏感导出误纳入或误排除。
恢复目标使用独立空目录,不覆盖生产路径:
“latest”适合日常演练;事故恢复应记录明确快照 ID、主机和路径,避免选择到错误来源的最新快照。
定期窗口中再执行 check --read-data 读取全部数据。官方说明 check 默认检查仓库结构,--read-data 会读取数据包。restic 快速入门
证据至少包括快照 ID、文件数量与容量、仓库检查结果、恢复耗时、抽样哈希、应用只读启动结果和未恢复项。
- 备份失败时保留完整退出码和错误,不要把部分成功当作完成。
- 仓库被锁时先确认没有仍在运行的客户端,再依据官方流程处理锁;不要机械删除锁。
- 恢复校验失败时保留恢复目录,区分源文件变化、排除规则、仓库损坏和权限丢失。
- 清理旧快照前导出保留计划并确认至少有一份已完成恢复演练的可用链。
restic 是文件备份工具,不保证数据库事务一致性,也不能替代目标环境的权限、监控和业务验收。核验日期:2026-07-14;版本特性以稳定版官方文档为准。
Built with