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 / 问题 / 825620
Accepted
eng3
eng3
Asked: 2017-01-12 07:51:33 +0800 CST2017-01-12 07:51:33 +0800 CST 2017-01-12 07:51:33 +0800 CST

如何将 rsnapshot 链接到原始文件?

  • 772

我希望 rsnapshot 不为我的所有文件创建第二个副本,而只是拥有指向原始文件的硬链接,并且只保存更改的副本。

我有一个 Windows 和 linux 服务器。我想将我的 linux 系统的备份存储到 windows 系统上。但是,我也希望为用户提供快照。

我在 linux 上运行 rsnapshot 以获得快照。我无法将快照根放在 Windows 上,因为我无法将文件属性保留在不同的文件系统上,因此快照位于 linux 上。这意味着现在我的文件使用了两倍的空间(原始和快照)

由于快照不是备份,因此我通过压缩文件并将压缩文件发送到 Windows 来创建备份。

问题是因为我创建了一个单独的备份,所以我不需要在 linux 上保留同一个文件的两个副本。因此,我希望 rsnapshot 不为我的所有文件创建第二个副本,而只包含指向原始文件的硬链接。

我可以简单地手动创建包含所有硬链接的第一个保留/间隔文件夹吗?(cp -al)

backup rsync rsnapshot incremental-backup
  • 1 1 个回答
  • 742 Views

1 个回答

  • Voted
  1. Best Answer
    rubenvarela
    2017-01-12T09:10:40+08:002017-01-12T09:10:40+08:00

    rsnapshot 的工作方式是在第一次运行时创建一个完整副本。

    在下一个,它只存储已更改的文件。如果文件未更改,则会创建指向该文件的硬链接。

    这意味着现在我的文件使用了两倍的空间(原始和快照)

    是的。你有工作文件和快照。

    问题是因为我创建了一个单独的备份,所以我不需要在 linux 上保留同一个文件的两个副本。因此,我希望 rsnapshot 不为我的所有文件创建第二个副本,而只包含指向原始文件的硬链接。

    如果您想要 rsnapshot 在第一次运行时不复制整个树,那么问题是因为它是同一个文件,所以它无法检测到更改。

    FILE_A   -> DATA1
    RFILE_A1 -> DATA2
    
    IF FILE_A == RFILE_A1:
      HARDLINK RFILE_A1 RFILE_A2
    ElSE
      COPY FILE_A RFILE_A2
    

    这是基本逻辑。

    如果 RFILE_A1 是到 FILE_A 的硬链接,则问题是无法检测到 FILE_A 上的任何更改,因为基础数据是相同的。

    简单的解释是,硬链接是一个名称。它指向光盘上的数据。因此,当您创建额外的硬链接时,您正在重用磁盘数据。因此无法检测到更改。

     

    简短的回答(TL;DR),你不能。你需要第一个完整的副本。

    另一种选择可能是使用 Git 之类的东西。

    • 3

相关问题

  • 总大小(磁盘)与总大小(媒体)

  • 社区对备份解决方案的意见

  • 无法读取不同 LTO-3 驱动器上的 LTO-3 磁带

  • 使用 TSM 备份时跳过硬链接

  • 使用 rsync 维护名称更改的目录的副本

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