AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 482642
Accepted
sbrattla
sbrattla
Asked: 2013-02-27 07:26:08 +0800 CST2013-02-27 07:26:08 +0800 CST 2013-02-27 07:26:08 +0800 CST

rsnapshot :初始备份会永远保留吗?

  • 772

使用 rsnapshot 进行备份时,“ [...] 我们首先将以前的备份复制到并行目录结构中,创建所有目录并为所有文件建立硬链接。” . 这一切都很好。

我假设这意味着初始备份将永远保留?“较新”的备份只会(通过硬链接)指向较旧的备份,所以我假设任何给定的硬链接指向的实际文件需要永远保留才能不破坏东西?

这个假设对吗?

rsnapshot
  • 2 2 个回答
  • 3774 Views

2 个回答

  • Voted
  1. Best Answer
    Sven
    2013-02-27T07:33:18+08:002013-02-27T07:33:18+08:00

    不,这是不正确的。如果你有多个指向一个文件的硬链接,那么最初创建文件的那个并不重要,只有当指向文件的最后一个链接被删除时,文件才会被删除(参见rsnapshot 使用的硬链接和符号链接) 在 rsnapshot 的情况下,这意味着每个备份目录都是独立的,您可以删除所有其他备份目录(包括初始目录)并且仍然拥有完整的数据集。

    根据您配置 rsnapshot 的方式,它最终会删除原始备份集。

    • 12
  2. mulaz
    2013-02-27T07:39:52+08:002013-02-27T07:39:52+08:00

    TL;DR:不。

    这取决于您定义“初始备份”的内容。

    您首先创建一个备份 ( hourly.0),其中包含今天的所有文件。

    在下一次迭代中,它将文件(cp -L,只是复制数据的链接) “复制”到hourly.1文件夹。

    如果所有文件都与以前相同,则 rsync 不会写入任何内容,因此您有一个文件数据块(让我们使用myfile.jpg)和两个指向驱动器上同一文件的链接(hourly.0/myfile.jpg和)。hourly.1/myfile.jpg

    在没有更改的下一次迭代中,您仍然拥有相同的数据,只是hourly.2/myfile.jpg指向该数据的另一个指针 ( )。如果您已将其设置为保留 3 个备份,则它将删除hourly.2、移动hourly.1到hourly.2、移动hourly.0到hourly.1、从“复制”(创建硬链接)hourly.1到创建hourly.0,然后再次运行 rsync。

    如果文件更改,rsync 将“删除”文件(实际上只是链接)hourly.0/myfile.jpg(数据保留在驱动器上,因为仍有两个链接指向它)。然后 Rsync 将使用新的myfile.jpg.

    所以现在你有一个数据块和一个新文件的链接,一个数据块有两个旧版本文件的链接。

    在下一次迭代中,它删除hourly.2(旧文件数据少一个链接),“复制”(硬链接)新文件(新文件的新链接。新文件数据有两个指针,和一个用于旧版本数据。

    在下一次迭代中,它会删除旧版本的最后一个链接(没有链接指向它的数据,文件系统认为它是免费的,并且在需要时会被覆盖),以及指向新文件数据的三个链接。

    如果有指向数据的链接(无论来自哪个目录),该数据将保留在驱动器上。只有删除所有链接后,数据才会被覆盖。

    • 7

相关问题

  • Rsnapshot 到多个目的地(或维护硬链接结构)

  • 本地加密增量空间高效备份解决方案

  • 在庞大的目录树上执行 rm -rf 需要几个小时

  • 将 rsnapshot 配置为仅备份本地文件系统

  • 有什么好的 rsnapshot nagios 插件吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve