架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 121|回复: 2

使用开源工具 Restic 增量备份磁盘文件

[复制链接]
发表于 2025-4-4 14:46:16 | 显示全部楼层 |阅读模式
Restic 介绍

Restic 是一款现代备份程序,可以备份您的文件:

  • 来自Linux、BSD、Mac 和 Windows
  • 许多不同的存储类型,包括自托管和在线服务
  • 很容易,作为一个可执行文件,你可以运行它而不需要服务器或复杂的设置
  • 有效地,只传输备份文件中实际更改的部分
  • 通过在流程的每个部分谨慎使用加密技术来确保安全
  • 可验证,使您能够确保您的文件可以在需要时恢复
  • 自由 restic 完全免费使用并且完全开源


兼容性:一旦 1.0.0 版本发布,我们保证所有存储库在一个主要版本内向后兼容;只要我们不增加主要版本,就可以读取和恢复数据。我们努力与所有先前版本完全向后兼容。

存储库支持:

  • Local
  • SFTP
  • REST Server
  • Amazon S3
  • Minio Server
  • S3-compatible Storage
  • Wasabi
  • Alibaba Cloud (Aliyun) Object Storage System (OSS)
  • OpenStack Swift
  • Backblaze B2
  • Microsoft Azure Blob Storage
  • Google Cloud Storage
  • Other Services via rclone
  • Password prompt on Windows
  • Group accessible repositories
  • Repositories with empty password


官网:https://restic.net/
Windows 下载:https://github.com/restic/restic/releases/download/v0.18.0/restic_0.18.0_windows_amd64.zip
文档:https://restic.readthedocs.io/en/v0.18.0/
命令行参数:https://restic.readthedocs.io/en/v0.18.0/manual_rest.html
源码:https://github.com/restic/restic
设计思想:https://github.com/restic/restic/blob/master/doc/design.rst

Windows 下载安装

下载 Windows 版本的工具,将压缩包解压。将 restic_0.18.0_windows_amd64.exe 重命名为 restic.exe 放入到 %SystemRoot%\System32 目录下面。略(或者添加到环境变量)

Restic 使用教程

初始化存储库

以本地存储库演示为例:


屏幕截图 2025-04-04 130526.png 屏幕截图 2025-04-04 133443.png

备份文件

将磁盘文件备份至存储库(备份 D:\360Downloads 目录下所有文件),命令如下:


屏幕截图 2025-04-04 132957.png

试运行

可以在试运行模式下执行备份,也就是在不提交的情况下查看具体的修改信息,命令如下:


屏幕截图 2025-04-04 134056.png

列出所有快照

Restic 的快照确实包含所有文件的状态,而不仅仅是修改、添加或删除的文件。但由于其高效的去重机制,实际存储的数据量会被优化,避免了重复存储相同的内容。这种设计使得 Restic 在备份大量相似数据时非常高效,同时保留了每个快照的独立性和完整性。

命令如下:


屏幕截图 2025-04-04 135430.png

列出快照中的文件

要获取特定快照中的文件列表,可以使用以下ls命令:


屏幕截图 2025-04-04 135730.png

检查完整性和一致性

应该定期运行此命令,以确保存储库的内部结构没有错误,命令如下:


屏幕截图 2025-04-04 140152.png

删除备份快照

删除备份快照,只保留最后(也就是最新的)一个快照,当forget使用策略运​​行时,restic 首先加载所有快照的列表,然后按其主机名和路径对它们进行分组(也就是不同主机名和路径会保留一个快照,并不是最后只保留一个!)。命令如下:


屏幕截图 2025-04-04 143738.png

从备份恢复

从快照恢复文件,命令如下:


屏幕截图 2025-04-04 144018.png

管理仓库的钥匙

key 命令允许我们为每个存储库设置多个访问密钥或密码。实际上,我们还可以使用 list、add、remove 和 passwd(更改密码)子命令来精确地管理这些密钥。


屏幕截图 2025-04-04 144325.png

常见问题

冷存储仓库的问题

不支持。目前提供从S3 Glacier和S3 Glacier Deep Archive存储类还原的实验性支持。

备份至 AWS S3 Glacier

https://forum.restic.net/t/backup-to-aws-s3-glacier/3963/2
https://restic.readthedocs.io/en/latest/faq.html#are-cold-storages-supported

Restic 判断来源

如果多个相同的目录文件内容,需要备份到我们的服务器,这时在 A 服务器使用 restic 备份,会携带 A 服务器的某些信息(如下所示)。之后,如果需要在 B 服务器上面同步增量的数据,其实不能够增量的同步。因为 restic 会根据下面的表示来判断是否是来自同一来源。

ID: 快照的版本号
Time: 备份的时间
Host: 备份服务器的主机名
Tags: 备份指定的标签
Paths: 备份的服务器路径

参考:https://www.escapelife.site/posts/912084a4.html




上一篇:.NET/C# 父子进程使用 MemoryMappedFile 通信
下一篇:AWS S3 对象存储新建桶及 IAM 策略设置教程
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2025-4-4 14:51:19 | 显示全部楼层
备份时添加标签

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2025-4-5 10:12:01 | 显示全部楼层
Restic 基于 Linux 系统将文件上传到 S3 存储桶

Rocky Linux安装 Restic


初始化 S3 桶


将文件备份至 S3 桶

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-4-20 09:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表