我想将内部硬盘驱动器的目录同步到外部硬盘驱动器。
当我在内部硬盘上写入或修改文件时,自动将相同的文件复制到外部硬盘驱动器…和再见备份;)
这将像一个外部硬盘驱动器的RAID。
这可能吗?
据我所知实时只有DRBD 。 但我不认为它适用于你的情况,因为当你删除一个文件,你会删除它也在外部磁盘上。 更轻松地,您可以使用每隔几分钟运行一次的rsync和cron脚本。
lsyncd似乎是一个完美的解决scheme。 它结合了inotify (内核内build函数和目录树中的文件更改)和rsync (跨平台文件同步工具)。
lsyncd -rsyncssh /home remotehost.org backup-home/
引用来自github:
Lsyncd监视本地目录树事件监视器接口(inotify或fsevents)。 它聚合和组合事件几秒钟,然后生成一个(或多个)进程(es)来同步更改。 默认情况下,这是rsync。 因此Lsyncd是一个轻量级的实时镜像解决scheme,不需要新的文件系统或块设备,安装相对容易,不会影响本地文件系统的性能。
您可以通过内部和外部硬盘创build一个软件RAID1。 对于这个系统来说,如果它是一个内置硬盘驱动器或一个外部连接的大容量存储器,那么这个系统并没有什么不同。
但RAID不是备份! 如果不小心删除了硬盘上的文件,会发生什么情况? 它也会在外部“备份”驱动器上被删除。
备份通常包含多于一代的文件,因此您可以从中检索意外删除的文件。
incron (正如今年早些时候在本网站上build议的那样)。
尽pipe如此,它仍然不能替代正确的备份程序。
你也许可以检查chironfs http://www.furquim.org/chironfs/
git-annex也可以用来实现这一点。
git-annex允许使用git来pipe理文件,而无需将文件内容检入到git中。 虽然这看起来似乎有点矛盾,但在处理大于git的文件时,可以轻松地处理这些文件,无论是由于内存限制,时间还是磁盘空间
有一个演练,快速引入用户与git-annex的速度