我希望 rsnapshot 不为我的所有文件创建第二个副本,而只是拥有指向原始文件的硬链接,并且只保存更改的副本。
我有一个 Windows 和 linux 服务器。我想将我的 linux 系统的备份存储到 windows 系统上。但是,我也希望为用户提供快照。
我在 linux 上运行 rsnapshot 以获得快照。我无法将快照根放在 Windows 上,因为我无法将文件属性保留在不同的文件系统上,因此快照位于 linux 上。这意味着现在我的文件使用了两倍的空间(原始和快照)
由于快照不是备份,因此我通过压缩文件并将压缩文件发送到 Windows 来创建备份。
问题是因为我创建了一个单独的备份,所以我不需要在 linux 上保留同一个文件的两个副本。因此,我希望 rsnapshot 不为我的所有文件创建第二个副本,而只包含指向原始文件的硬链接。
我可以简单地手动创建包含所有硬链接的第一个保留/间隔文件夹吗?(cp -al)
rsnapshot 的工作方式是在第一次运行时创建一个完整副本。
在下一个,它只存储已更改的文件。如果文件未更改,则会创建指向该文件的硬链接。
是的。你有工作文件和快照。
如果您想要 rsnapshot 在第一次运行时不复制整个树,那么问题是因为它是同一个文件,所以它无法检测到更改。
这是基本逻辑。
如果 RFILE_A1 是到 FILE_A 的硬链接,则问题是无法检测到 FILE_A 上的任何更改,因为基础数据是相同的。
简单的解释是,硬链接是一个名称。它指向光盘上的数据。因此,当您创建额外的硬链接时,您正在重用磁盘数据。因此无法检测到更改。
简短的回答(TL;DR),你不能。你需要第一个完整的副本。
另一种选择可能是使用 Git 之类的东西。