我有一块旧硬盘,基本上使用以下方法将其克隆到新硬盘上:Grsync或者时间移位。因为旧硬盘更容易出现故障,所以我想使用新硬盘作为正在使用的硬盘,而将旧硬盘用作同步所有更改的备份硬盘。
第一的在 Vorta GUI repo 上询问了这个问题因为最终我想只使用一个 GUI 来完成所有备份任务。由于该工具(目前)没有此功能,我想使用另一个开源图形用户界面。与相关问题以及我尝试过的一些可用工具提供的服务的进一步区别如下所述:
- Syncthing:出于奇怪的原因,它并不真正支持备份到本地目的地(同步本地硬盘或文件夹);我的第二个硬盘是当地的
- Unison:我希望同步始终自动进行,无需任何触发
- Rsync GUI:这些似乎与 Unison 有同样的问题(这里推荐): 我想拥有一个目录监视守护进程/ 文件系统监视器,用于检测大容量硬盘我使用它们,然后在某个时间点(立即或指定的时间间隔)将它们同步到第二个硬盘自动地。使用 Grsync(启用“在目标位置删除”选项)或 BackInTime(未维护)等工具,只能手动完成此操作。我希望文件完全相同,这样如果新驱动器出现故障,我就可以像使用旧驱动器一样安装和使用完全加密的驱动器(例如,文件权限和其他所有内容都应保持不变)。它应该是高效的,例如,不必每次都重新扫描整个驱动器以查找更改。
对我来说,这似乎是桌面用户无需版本控制即可备份整个硬盘的最直观方式,因此我很惊讶大多数现有的 GUI 工具都无法轻松实现这一点。更糟糕的是,其他问题(相关但不相同!)例如这似乎只针对小众应用程序技术人员提供命令行解决方案,甚至没有可以使用的具体 rsync 命令或如何实现它的信息。我使用带有 KDE 的 Debian。
答案1
这是我目前想到的最好的办法,如果找到更好的方法,我会对其进行编辑:
选项 #1:将磁盘转换为RAID1- 其中存在的三个问题是:
- 如果您在源磁盘上删除某些内容,它也会在第二个磁盘上被删除,但对于桌面用例来说,最好可以在下次备份之前恢复目录或文件一段时间(这对于可以避免停机的服务器很有用,但对于个人备份来说并不好)
- 丢失数据的可能性相当高,因此只有在第三个驱动器上备份数据后才能执行此操作
- 有一些循序渐进的教程(很难看出哪些是最新的,哪些符合你的要求),但没有 GUI
选项 #2:使用Grsync。由于 BackInTime 和 LuckyBackup 不再积极开发,这似乎是唯一仍在开发的 rsync 高级 GUI。我还没有检查 Timeshift GUI 是否也能完成我尝试的操作,可能有一些不太成熟的 rsync GUI 可以做同样的事情。
首先选择源目录和目标目录,然后在源目录后添加一个额外的斜线 /。确保这些配置正确,因为目标目录(第二行)上的文件将被删除。
然后启用这些选项来同步指定目录(即整个驱动器)(从默认设置更改;请更正任何错误):
- “在目的地删除”
- “保留所有者”
- “保留群组”
- “保留时间戳”
- “保留权限”
- “高级”选项卡中的“将符号链接复制为符号链接”,从左上角开始第四个(如果您使用文件的快捷方式,则可确保它们也存在于备份目录中)
- “复制硬链接”(不包括这两个选项可能会导致备份大于源目录,并且可能更早运行)
- (“详细”已被禁用,因此不会生成大量日志)
- (“仅比较文件大小”可能会使其更快,但我还没有测试过;禁用“显示进度”也可能有用)
然后,只需定期手动启动已保存配置文件的程序,然后单击播放按钮即可刷新同步备份。通过转到 Session->Export 保存配置文件,这样您就可以始终使用相同的备份配置文件。
这个问题解决办法是:
- 它无法进行计划或自动备份。我会提交有关它的功能请求(链接在此处),但它似乎甚至没有现代的 git repo(首先是 Grsync 或类似的工具来登录 GitHub 或 Gitlab)。
- 如果您还想同步 root 权限文件,您仍然需要在同步运行后运行命令,因为 Grsync 没有 root GUI(BackInTime 有一个):在 Grsync 中转到 File->R sync 命令行,将命令复制到终端,但在运行它
sudo
之前在它前面添加(作为 root 用户)。--progress
如果启用了该功能,也请将其删除。对我来说,命令是sudo rsync -r -t -p -o -g --delete -l -H -s dir1/ dir2
dir1 对我来说只是 disk1 的根目录。(除了使用 Grsync,您还可以使用命令行,直到至少有一个允许所有功能的 GUI。) - 我不知道它是否适合同步大型整个驱动器。由于这个问题可能会被关闭,因此可能仍不清楚。我认为,一个文件监视程序类型的守护进程会记录您在更改文件时更改了哪些文件,这将使它更适合这种情况,但我认为 rsync/Grsync 没有这个功能。当您只移动文件时,情况也是如此,它可能会删除目标中的文件,以便在另一个时间复制它们,而不仅仅是将文件夹或文件移动到那里。