跳至主要内容

Restic --恢复

从备份恢复

从快照恢复

恢复快照非常简单,只需使用以下命令将最新快照的内容恢复到 /tmp/restore-work
$ restic -r /srv/restic-repo restore 79766175 --target /tmp/restore-work
enter password for repository:
restoring <Snapshot of [/home/user/work] at 2015-05-08 21:40:19.884408621 +0200 CEST> to /tmp/restore-work
使用这个词latest来恢复上次备份。您还可以结合 latest使用过滤器--host--path过滤器来为特定主机,路径或两者选择上次备份。
$ restic -r /srv/restic-repo restore latest --target /tmp/restore-art --path "/home/art" --host luigi
enter password for repository:
restoring <Snapshot of [/home/art] at 2015-05-08 21:45:17.884408621 +0200 CEST> to /tmp/restore-art
使用--exclude并将--include还原限制为快照中文件的子集。例如,要恢复单个文件:
$ restic -r /srv/restic-repo restore 79766175 --target /tmp/restore-work --include /work/foo
enter password for repository:
restoring <Snapshot of [/home/user/work] at 2015-05-08 21:40:19.884408621 +0200 CEST> to /tmp/restore-work
这会将文件恢复foo/tmp/restore-work/work/foo

使用mount进行恢复

将您的备份作为常规文件系统浏览也非常简单。首先,创建一个安装点/mnt/restic,然后使用以下命令通过FUSE提供存储库:
$ mkdir /mnt/restic
$ restic -r /srv/restic-repo mount /mnt/restic
enter password for repository:
Now serving /srv/restic-repo at /mnt/restic
Don't forget to umount after quitting!
在OpenBSD,Solaris / Illumos和Windows上无法通过FUSE挂载存储库。
Restic支持硬链接的存储和保存。但是,由于硬件链接按照定义存在于文件系统的范围内,因此应通过保留硬链接的程序来恢复保险丝安装的硬链接。这样做的程序rsync与选项-hard-links一起使用。

将文件打印到标准输出

有时将文件打印到标准输出是有帮助的,以便其他程序可以直接读取数据。这可以通过使用dump命令来实现,如下所示:
$ restic -r /srv/restic-repo dump latest production.sql | mysql

评论

此博客中的热门博文

Restic --备份

备份 现在我们准备好备份一些数据。 在特定时间点的目录内容在restic中被称为“快照”。 运行以下命令并再次输入上面选择的存储库密码: $ restic -r /srv/restic-repo --verbose backup ~/work open repository enter password for repository: password is correct lock repository load index files start scan start backup scan finished in 1.837s processed 1.720 GiB in 0:12 Files: 5307 new, 0 changed, 0 unmodified Dirs: 1867 new, 0 changed, 0 unmodified Added: 1.700 GiB snapshot 40dc1520 saved 正如你所看到的,restic创建了该目录的备份并且速度非常快! 40dc1520 在这种情况下 ,刚刚创建的特定快照由一系列十六进制字符标识 。 如果你没有通过这个 --verbose 选项,restic将打印更少的数据(但你仍然会得到一个很好的实时状态显示)。 如果再次运行该命令,restic将会创建另一个数据快照,但这次更快。 这是工作中的重复数据删除! $ restic -r /srv/restic-repo backup --verbose ~/work open repository enter password for repository: password is correct lock repository load index files using parent snapshot d875ae93 start scan start backup scan finished in 1.881s processed 1.720 GiB in 0:03 Files: 0 new, 0 changed, 5307 unmodified Dirs

Restic --使用aws备份案例

例子 用Amazon S3设置restic 前言 本教程将向您展示如何在AWS S3中使用restic。 它将向您展示如何浏览AWS Web界面,创建S3存储桶,创建只能访问此存储桶的用户以及如何将restic连接到此存储桶。 先决条件 您的系统上应该已经有一个 restic 可以运行 的 二进制文件。 此外,您还应该拥有 AWS 账户  。 即使您使用 免费 套餐,您也可能需要提供信用卡详细信息才能进行结算  。 登录到AWS 将浏览器指向  https://console.aws.amazon.com  并使用您的AWS账户登录。 您将看到AWS主页: 通过使用左上角的“服务”按钮,可打开AWS提供的所有服务菜单: 对于本教程,简单存储服务(S3)以及身份和访问管理(IAM)是相关的。 创建桶 首先,必须创建用于存储备份的存储桶。 使用“服务”菜单,导航到S3。 如果您已经有一些S3存储桶,您会在这里看到它们的列表: 点击“创建存储桶”按钮,然后为新存储桶选择一个名称和区域。 为了本教程的目的,该存储桶将被命名  restic-demo 并驻留在法兰克福。 由于存储桶名称空间在所有AWS用户之间共享,因此名称 restic-demo 可能无法提供给您。 要有创意并选择一个独特的存储桶名称。 没有必要配置存储桶的任何特殊属性或权限。 因此,只需完成向导而不做任何进一步的更改: 新创建的 restic-demo 存储桶现在将显示在S3存储桶的列表中: 创建一个用户 使用AWS Web界面的“服务”菜单导航到IAM。 这会将您带到IAM主页。 要创建新用户,请点击左侧的“用户”菜单条目: 如果您之前已经拥有使用IAM的设置用户,您会在这里看到它们的列表。 使用顶部的“添加用户”按钮创建一个新用户: 对于本教程,新用户将被命名 restic-demo-user 。 随意选择最适合您需求的名称。 该用户只能通过该 restic 程序 访问AWS  ,而不能通过Web界面访问。 因此,“访问类型”选择了“编程访问”: 在下一步中,可以将权限分配给新用户。 要使用这个用户,只需要访问 restic-demo 存储桶。 选择“直接附加现有政策”,这将在下面列出

Restic --删除备份快照

删除备份快照 所有的备份空间都是有限的,所以restic可以删除旧的快照。 这可以通过手动(通过指定要删除的快照ID)或者使用描述要忘记哪些快照的策略来完成。 对于所有删除操作,需要依次调用两个命令: forget 删除快照并 prune 实际删除快照从存储库中引用的数据。 这可以通过 forget 命令 --prune 选项 来自动 执行, 如果快照已被删除 ,该 prune 命令 会自动 运行 。 建议 在修剪后 运行 restic   check ,以确保提醒您可能的损坏存储库的内部数据结构。 删除一个快照 该命令 snapshots 可用于列出存储库中的所有快照,如下所示: $ restic -r /srv/restic-repo snapshots enter password for repository: ID Date Host Tags Directory ---------------------------------------------------------------------- 40dc1520 2015-05-08 21:38:30 kasimir /home/user/work 79766175 2015-05-08 21:40:19 kasimir /home/user/work bdbd3439 2015-05-08 21:45:17 luigi /home/art 590c8fc8 2015-05-08 21:47:38 kazik /srv 9f0bc19e 2015-05-08 21:46:11 luigi /srv 要删除快照 /home/art ,请使用该 forget  命令并在命令行上指定快照ID: $ restic -r /srv/restic-repo forget bdbd3439 enter password for repository: removed snapshot d3f01f63 之后,此快照被删除: $ restic -r /srv/res