restic 备份实战:从安装到数据恢复的完整链路 restic 备份实战从安装到数据恢复的完整链路【免费下载链接】resticFast, secure, efficient backup program项目地址: https://gitcode.com/GitHub_Trending/re/resticrestic 是用 Go 编写的开源备份程序数据全程加密、增量去重仓库可放在本地磁盘或多种云端。本文面向想给服务器或个人机器建立备份体系的人带你跑通 restic 备份的核心流程。为什么选 restic内容定址的增量备份文件按内容哈希切片去重第二次备份只上传变化部分省空间也省流量。默认端到端加密数据先在本机加密再写出密钥只在你手里。跨平台、后端丰富Linux、macOS、Windows 命令一致仓库支持本地路径、SFTP、S3、REST 等后端。⏱️ 五分钟装好 restic系统安装命令Debian / Ubuntuapt-get install resticArchpacman -S resticFedora / RHELdnf install resticmacOSbrew install resticWindowswinget install --exact --id restic.restic --scope Machine或scoop install restic发行版包版本过旧时可以下载官方二进制之后用restic self-update就地升级。第一次备份init → backup → snapshots → restoreexport RESTIC_REPOSITORY/srv/restic-repo export RESTIC_PASSWORD_FILE/path/to/password.txt restic initinit 在仓库位置写入配置和密钥得到一个空仓库。仓库不一定要在本地SFTP 写restic -r sftp:userhost:/srv/restic-repo initS3 写restic -r s3:s3.us-east-1.amazonaws.com/bucket init。S3 后端需要先在控制台建好桶并配好访问策略restic backup ~/work这一步会遍历目录、压缩加密并写入仓库生成第一个快照。restic snapshots列出全部快照含 ID、主机和时间后续命令都用这个 ID 定位。restic restore latest --target /tmp/restore restic restore latest --target /tmp/restore --include /work/foo.txt第一条把最新快照整体还原到指定目录第二条只还原单个文件--include跟的是快照内部的路径。 控制备份体积排除规则 保留策略省空间靠两类参数配合备份时决定什么不进仓库forget 时决定哪些快照可以删。# .resticignore **/.git **/node_modules *.logrestic backup ~/work --exclude *.log --exclude-file .resticignore--exclude写单条模式--exclude-file读规则文件适合把规则放在被备份目录里跟随项目走。restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune--keep-daily 7表示每个自然日只留最近 7 个快照周、月同理。--prune在删除快照后清掉不再被引用的数据文件空间才真正释放不常跑也可以只执行 forget定期再 prune。让定时备份跑起来一段 10 行脚本#!/bin/bash set -e export RESTIC_REPOSITORY/srv/restic-repo export RESTIC_PASSWORD_FILE/path/to/password.txt restic backup ~/work ~/documents restic forget --keep-daily 7 --keep-weekly 4 --prune restic check0 3 * * * /path/to/backup.sh /var/log/restic-backup.log 21密码文件里放的就是仓库密码脚本场景无法交互输密码restic 改从RESTIC_PASSWORD_FILE读取。建议把文件权限设为 600并把它和仓库本身一样对待不要提交进版本库。 密钥你的最后一道防线仓库数据默认全部加密所以密钥就是最后一道防线restic key add restic key passwd restic key listkey add为新机器生成第二把钥匙key passwd修改主密码key list查看现有密钥。注意所有密钥和密码都丢了仓库里的数据将永久无法解开务必单独备份密钥信息。日常体检与调优五分钟维护清单对比两个快照restic diff 40dc1520 79766175在 ID 后加/目录只比一个子树。结构体检restic check检查索引与引用关系加--read-data会把每个数据文件读出来验证耗时长适合定期跑而不是每次跑。按提示修复check 报索引问题时执行restic repair index快照损坏时执行restic repair snapshots。并发与带宽用--limit-upload、--limit-download给传输限速避免备份占满带宽。压缩档位--compression max换最小体积--compression off跳过压缩换速度。缓存位置把RESTIC_CACHE_DIR指到本地快盘上访问远程仓库时明显提速。延伸阅读doc/040_backup.rst备份命令的全部选项含排除规则与标签用法。doc/075_scripting.rst环境变量与退出码约定写自动化脚本前必读。doc/047_tuning_parameters.rst影响性能与仓库体积的参数说明。接下来可以做四件事挑一个目录完成 init、backup、snapshots、restore 完整流程。配好保留策略和 crontab连续跑一周观察仓库体积。每周执行一次restic check --read-data输出留档。把key list结果和密码文件备份到仓库之外的地方。【免费下载链接】resticFast, secure, efficient backup program项目地址: https://gitcode.com/GitHub_Trending/re/restic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考