ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

restic 备份实操指南:从最小闭环到自动保留策略

restic 备份实操指南:从最小闭环到自动保留策略 restic 备份实操指南从最小闭环到自动保留策略【免费下载链接】resticFast, secure, efficient backup program项目地址: https://gitcode.com/GitHub_Trending/re/restic今晚的任务把整个 home 目录加密地存到 S3并且旧备份只自动留 7 天。restic 是一款用 Go 写的开源备份工具仓库内数据全程加密按内容做增量去重后端可指向 S3、SFTP、REST 或本地目录。 三分钟跑通最小闭环先跑通备份 → 查看 → 恢复这个闭环再谈优化。下面两条命令把仓库地址和密码写进环境变量后续所有命令就不用重复传参export RESTIC_REPOSITORY/srv/restic-repo export RESTIC_PASSWORDyour-strong-passwordrestic init在指定目录创建加密仓库成功后输出一个短哈希 IDrestic initrestic backup把目录写入仓库并生成一条带短 ID 的快照记录restic backup ~/work restic snapshots # 列出所有快照 restic snapshots 40dc1520 # 查看某条快照的详情最后一步验证可恢复性restic restore把快照解出来写到目标目录latest始终指向最新快照--include可只恢复单个文件restic restore latest --target /tmp/restore-work restic restore latest --target /tmp/restore-work --include /work/important.txt更多恢复选项见 官方恢复文档。 多系统安装与仓库选址安装。按发行版选一条命令即可系统安装命令Debian / Ubuntuapt-get install resticFedora / RHELdnf install resticArch Linuxpacman -S resticmacOSHomebrew / MacPortsbrew install restic或sudo port install resticWindowsScoop / WinGetscoop install restic或winget install --exact --id restic.restic --scope Machine已有二进制的机器还可以用restic self-update升级。选后端。init时只需换 URL 前缀同一套流程适用于所有后端场景仓库地址写法本地目录/srv/restic-repo远端 SSH 服务器sftp:userhost:/srv/restic-repoREST 服务器rest:http://host:8000/AWS S3s3:s3.us-east-1.amazonaws.com/bucket_namerestic -r sftp:userhost:/srv/restic-repo init以 S3 为例你需要先在控制台建好一个存储桶并配好访问凭证再执行上面这条 init选址建议本地盘最快但怕磁盘故障SFTP 适合已有服务器S3 / REST 适合多机共享与异地容灾。完整后端清单见 仓库准备文档。密码即钥匙丢失密码仓库数据不可恢复。脚本里建议用RESTIC_PASSWORD_FILE指向文件而不是明文写死restic key add可追加访问密钥restic key passwd改密码restic key list查看现有密钥见加密文档。⏰ 让备份自己跑起来核心是把备份 清理 体检写进一个脚本交给 cron 定时执行#!/bin/bash set -e export RESTIC_REPOSITORY/srv/restic-repo export RESTIC_PASSWORD_FILE/path/to/password.txt restic backup ~/work ~/documents # 保留最近 7 天、4 周、6 个月的快照并释放实际被删除的存储空间 restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune restic checkrestic forget是 restic 保留策略的核心--keep-daily N意味着每天最多留 N 份快照weekly / monthly / yearly 同理只删元数据不够必须加--prune才真正回收磁盘空间。--tag old还能只清理带特定标签的快照。把脚本挂进 crontab每天凌晨 3 点执行日志追加到文件末尾0 3 * * * /path/to/backup.sh /var/log/restic-backup.log 21 只备份你要的用标签把不同备份区分开restic backup --tag production ~/app之后restic snapshots --tag production只看这一组forget 也可按标签清理。排除规则有两种写法。一是.resticignore文件gitignore 语法**/.git **/node_modules *.log二是命令行参数可单独排除也可把规则放文件里restic backup ~/work --exclude*.log --exclude-file.resticignore增量是 restic 的默认行为内容寻址意味着只有真正变化的数据块会再次上传第二次备份通常快很多、也省空间无需额外参数。排除规则的完整语法见 备份文档。 验证与救火验证。restic check快速检查仓库结构和索引一致性加--read-data会逐个读出数据块并解密耗时更久适合定期深度体检restic check restic check --read-data修复。索引或快照损坏时先查再补restic repair index restic repair snapshots性能调优。三个常用抓手压缩级别--compression max默认已是 normal按数据可压缩性权衡并发限速--limit-download 100 --limit-upload 50单位 MB/s防止备份占满带宽缓存目录RESTIC_CACHE_DIR指到本地快盘可显著减少重复网络往返。export RESTIC_CACHE_DIR/path/to/fast/disk/.cache/restic问题定位的完整思路见 故障排除文档。下一步现在就可以初始化一个本地仓库把本文的脚本挂上 cron跑一次restic check确认全绿。需要进一步细化的读这两篇脚本自动化 和 备份参数调优。【免费下载链接】resticFast, secure, efficient backup program项目地址: https://gitcode.com/GitHub_Trending/re/restic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表