是否可以实时同步两个 Linux 目录?

是否可以实时同步两个 Linux 目录?

我想将内部硬盘的目录同步到外部硬盘。

当我在内置硬盘上写入或修改文件时,相同的文件会自动复制到外部硬盘上...再见备份;)

这有点像带有外部硬盘的 RAID。

这可能吗?

答案1

据我所知,实时的只有DRBD。但我不认为这适用于您的情况,因为当您删除文件时,您也会在外部磁盘上删除它。更简单的是,您可以使用 rsync 和每隔几分钟运行一次的 cron 脚本。

答案2

同步似乎是完美的解决方案。它结合了通知(内核内置函数,监视目录树中的文件变化)和同步(跨平台文件同步工具)。

lsyncd -rsyncssh /home remotehost.org backup-home/

引用自 github:

Lsyncd 监视本地目录树事件监视器接口(inotify 或 fsevents)。它会在几秒钟内聚合并组合事件,然后生成一个(或多个)进程来同步更改。默认情况下,这是 rsync。因此,Lsyncd 是一种轻量级实时镜像解决方案,安装起来相对容易,不需要新的文件系统或块设备,也不会影响本地文件系统的性能。

答案3

您只需在内部和外部硬盘上创建软件 RAID1 即可。对于系统而言,无论是内置硬盘还是外部连接的大容量存储都没有区别。

但 RAID 不是备份!如果您不小心删除了硬盘上的文件,会发生什么?它也会在外部“备份”驱动器上被删除。

备份通常包含多代文件,因此您可以从中检索意外删除的文件。

答案4

git 附件也可以用来实现这一点。

git-annex 允许使用 git 管理文件,而无需将文件内容签入 git。虽然这看起来有些矛盾,但在处理大于 git 目前可以轻松处理的文件时(无论是由于内存、时间还是磁盘空间的限制),它都很有用

有一个快速帮助用户熟悉 git-annex 的指南

相关内容