通过网络进行目录镜像

通过网络进行目录镜像

我需要一个软件或任何其他方法来立即备份我的主目录,以便如果我的数据丢失,我可以通过网络获得另一份副本。

我在本地网络上有一个 NAS,我想在那里保存我的机器主目录的精确副本

我不想要 SYNC 行为。我需要的是镜子

答案1

使用一个简单的脚本同步工具可以解决您的问题。脚本是:

#!/bin/sh
while true
do rsync [source-folder] [destination-machine:folder]
sleep 5 
done

如果你想要实时备份,那么你可以删除它sleep 5 或者将其作为评论#sleep 5

为了让它自动启动,你可以创建一个启动器 然后将此启动器添加到启动应用程序中以便自动启动。

此外,您还可以找到许多其他备份工具和其他同步工具来帮助您,但我发现这个脚本很容易使用

答案2

如前面的答案所述,rsync 是通过网络复制文件的最有效方式。但是,这需要您手动启动镜像过程。如果您希望像单向 Dropbox 一样自动进行此操作,则可以使用 lsyncd:

    sudo apt-get install lsyncd
    lsyncd -rsyncssh /home nashostname backup/dir/

答案3

Ubuntu 12.04 有一个可用于此目的的桌面备份应用程序。

您可以在 ubuntu dash 中搜索“备份”,并在“存储”选项卡中设置目标文件夹:

deja-dup 存储目标文件夹选项

您可以选择 FTP、SSH、WebDAV、Windows 共享(Samba)或本地文件夹。

有问题的程序是 deja-dup 和 duplicity。

笔记:抱歉,这个答案似乎有点离题,因为你需要一个随时可用的镜像文件夹(是这种情况吗?)而 deja-dup 会创建压缩档案。请注意,deja-dup 允许你从备份中恢复特定文件(右键单击任何文件/文件夹并选择“恢复到以前的版本”)。

答案4

表里不一非常好,可以使用同步作为后端。我最喜欢的是配置过滤器的能力,因此如果您不想在该目录中备份大型文件或具有特定扩展名的文件,则可以轻松进行这些调整。请注意重复使用 duplicity 作为后端,是一种真正简单的入门方式,甚至默认创建合理的排除过滤器。

我建议每晚执行一次 cron 操作。首先每周进行一次完整备份,然后每晚进行一次增量备份。请参阅http://www.rsync.net/resources/howto/duplicity.html 以获得好的例子。

如果你想要真正的实时镜像,那么 DRBD 是可行的方法,但它并非没有风险或复杂性。你必须创建一个“块堆栈”其中 drbd 由您的数据存储支持,并且安装。它有几种在数据完整性和速度之间进行权衡的协议,例如同步与异步。它还具有“裂脑”的复杂性,如果源和/或目标已经向前移动并且彼此不通信,DRBD 必须找出哪一个是事实来源,将其作为主要来源并强制次要来源重新同步到该来源,如果出错,您将丢失数据。

因此,你必须问自己,你是否真的需要一个块 IO 写入镜像的瞬间停机,以及随之而来的所有复杂性和风险,或者定期的 rsync(每 5 分钟等)是否足够好?

最后,数据完整性最好采用分层方法。理想情况下,您的主磁盘和辅助磁盘都应由 RAID 1 或类似磁盘支持然后您可以使用提供的选项来设置同步,这些选项在易用性、数据完整性、复杂性和风险之间的权衡方面有很大的差异。

相关内容