跨平台备份工具Restic
- Linux系统
- 2024-05-11
- 1652热度
- 0评论
Restic 跨平台备份工具完全指南
Restic 是一款开源的跨平台备份工具,支持本地、SFTP、S3 等多种存储方式。相比传统备份工具,Restic 采用增量备份和去重技术,大幅节省存储空间。
一、支持的存储方式
Restic 支持多种备份目标,本文重点介绍两种常用方式:
| 存储方式 | 适用场景 | 优势 |
|---|---|---|
| 本地存储 | 备份到本机硬盘或挂载的外部存储 | 速度快,无网络依赖 |
| SFTP | 备份到远程服务器 | 异地容灾,安全可靠 |
二、初始化备份仓库
本地存储仓库
# 备份到本地 /home/mike/backup 文件夹
restic init --repo /home/mike/backup
执行后会提示设置密码,这个密码用于加密备份数据,务必妥善保管。
SFTP 远程仓库
适合将文件备份到另一台服务器上。
⚠️ 前提条件:需要先配置两台服务器间的 SSH 免密登录。以下将需要备份的服务器称为 A,备份服务器称为 B。
# 在 A 服务器上初始化 SFTP 仓库
restic init --repo sftp:user@backup-server:/backup/repo
三、备份数据
基本备份命令
# 本地备份
restic -r /home/mike/backup --verbose backup /var/www
# 带标签的备份(便于管理)
restic -r /home/mike/backup backup /var/www --tag web-files
# SFTP 备份
restic -r sftp:user@backup-server:/backup/repo backup ~/work
💡 参数说明
-r:指定仓库路径--verbose:显示详细信息--tag:为快照添加标签
四、恢复备份
查看所有快照
restic -r /home/mike/backup snapshots
输出示例:
ID Time Host Tags Paths
----------------------------------------------------------------------
ef5ff5fe 2024-03-15 10:30:00 server-a web-files /var/www
a1b2c3d4 2024-03-16 10:30:00 server-a web-files /var/www
恢复指定快照
# 恢复指定 ID 的快照
restic -r /home/mike/backup restore ef5ff5fe --target /var/www
# 恢复最新快照
restic -r /home/mike/backup restore latest --target /var/www
快捷方式:使用
latest 可以快速恢复最后一次备份,类似 Git 和 Docker 的 latest 标签。
五、删除快照
删除指定快照
# 仅删除快照记录
restic -r /home/mike/backup forget ef5ff5fe
# 删除快照并清理数据
restic -r /home/mike/backup forget ef5ff5fe --prune
⚠️ 重要区别:
forget 只删除快照记录,数据仍在仓库中。加上 --prune 才会真正释放存储空间。
自动清理策略
# 保留最近 7 天的每日备份,4 周的每周备份
restic -r /home/mike/backup forget --keep-daily 7 --keep-weekly 4 --prune
六、实用技巧
排除文件
# 排除特定目录
restic backup /var/www --exclude /var/www/cache --exclude /var/www/logs
# 使用排除文件
restic backup /var/www --exclude-file=exclude.txt
定时备份
创建 cron 任务:
# 每天凌晨 2 点备份
0 2 * * * restic -r /home/mike/backup backup /var/www --tag daily
检查仓库完整性
restic -r /home/mike/backup check