有没有一种可靠的方法可以将 USB 的内容缓存到本地硬盘上?

有没有一种可靠的方法可以将 USB 的内容缓存到本地硬盘上?

我想在带有 debian 虚拟机的笔记本电脑和运行 debian 的台式电脑之间切换,同时将所有工作文件存储在 USB 中。是否有一种可靠的方法可以在我正在使用的计算机上自动开始缓存 USB 的内容(用于快速访问和搜索)?两台计算机都有 SSD,并且(大概)需要的额外存储空间不是问题,我想要的是 SSD 的速度和 USB 的便携性,而不会有任何破坏我所有文件的重大风险。

答案1

根据您正在使用的文件类型,您可以使用棒上的 git 存储库。

只需将您的工作推到棍子上,将其移动到另一个盒子并拉出所有更改即可。 - 包括版本控制和备份。 :)

答案2

您可以使用齐奏。从主页:

Unison 是一个适用于 Unix 和 Windows 的文件同步工具。它允许将文件和目录集合的两个副本存储在不同的主机(或同一主机上的不同磁盘)上,分别进行修改,然后通过将每个副本中的更改传播到另一个副本来更新。

三种数据存储(笔记本电脑磁盘、台式机磁盘和U盘)均可独立使用。使用前后,USB 驱动器必须同步。这可以使用命令行工具或可用的 GUI 之一来完成。

您可以在安装/卸载 USB 磁盘时手动启动同步步骤,也可以编写一个自动执行此操作的 udev 规则。在笔记本电脑上,您同步到虚拟机共享目录,这样可以轻松访问。或者您可以将 USB 记忆棒直接传递给来宾并从 Debian 系统内同步。

答案3

另一个选项是 git-annex。它的设计目的就是做这件事,但我发现它在命令行和网络应用程序中很笨拙。随着它的改善,我会继续观察它。

Git-annex 使用 git 来管理有关文件的元数据,然后可以使用您想要的任何后端,以避免将实际文件存储在 git 存储库中(这不能很好地随文件大小扩展。)

查看这些页面:

答案4

另一种选择是rsync。但它并没有真正起作用缓存- 仅当程序完成时,数据才能保证相同(我确实对这方面的其他解决方案有疑问 - Unison 似乎也需要同步)。

您可能想要更新问题以反映您是否需要缓存,即一旦您访问本地副本中的文件,它们就会在其内容可供用户空间使用之前自动更新。

您可能感兴趣如何与插入的 USB 大容量存储设备自动同步?

相关内容