如何将几台 Mac 备份至 Linux 服务器?

如何将几台 Mac 备份至 Linux 服务器?

我目前使用带有 --link-dest 的 rsync 来将几个具有各种操作系统的源的增量 Time Machine 式备份到单个 Linux 机器上。我时不时地将备份驱动器交换到外部站点。其中一个源是 Mac,虽然从 Linux 机器到 Mac 的 rsync 似乎可以工作,但它认为它没有捕获 HFS+ 文件系统的所有详细信息,因此如果需要,我无法真正从 OS DVD 进行完整恢复。此外,与具有类似数据量和文件数量的其他源相比,备份 Mac 需要很长时间。所以,我想我会对 Mac 使用 Time Machine,并继续对其他源使用 rsync。Time Machine 是实现此目的的最佳方式吗?如果是,我需要在我的 Linux 服务器上做什么才能使其成为有效的 Time Machine 目标?如果不是,您有什么建议?

我知道网上有几个(Time Machine 到 Linux)页面,但我认为 ServerFault 可以使用一个。

答案1

通过 NAS 共享(samba 或 NFS)执行此操作。

我使用 Time Machine 备份到 ReadyNAS(其底层运行 Linux)。以下是我对如何备份的说明。

Enable NAS backups:

 - defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Find MAC address of the machine to be backed up:

 - ifconfig en0 | grep ether | sed s/://g | sed s/ether//

Command to create sparsebundle to copy over to NAS:

 - sudo hdiutil create -nospotlight -library SPUD -size 160g -fs "Case-sensitive Journaled HFS+" -type SPARSEBUNDLE -volname "hostname Backup" ./<hostname>_<macaddress>.sparsebundle

您需要插入主机名和 MAC 地址以适应。此设置已经运行了一段时间,没有出现重大问题。

PS. 您需要调整卷的大小。我将其设置为 160GB,因为它仅备份 Mac Mini。

答案2

您可以使用 -X 和 -A 开关以及“fake super”功能将 HFS+ 的扩展属性存储在 Linux 文件服务器上的 xattrs 中。这种方法效果很好,但您只能使用这些 xattrs 来还原到 hsf+,尤其是 ACL 在 Linux 端不可用。

我建议编译您自己的 rsync,或者使用 DarwinPorts 版本,因为苹果提供的版本从来没有真正运行得很好(而且我不确定最近情况是否有所好转)。

请参阅 man rsync 了解伪超级模式。

我无法评论速度问题,但也许本地构建的版本效果更好。

答案3

我已经成功地使用 Mac 上的 SuperDuper! 通过 Samba 将我的 Mac 备份到运行 CentOS 的 Linux 服务器。它具有智能更新功能,允许增量备份。它创建的文件不是专有的,可以与 Apple 的磁盘实用程序一起使用。

SuperDuper!- 可以免费下载和安装,只有当您想使用智能更新功能时才需要购买: http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html

答案4

这里有使用 avahi 和 netatalk 的分步指南http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/

据我所知,不需要编译。您只需执行以下操作即可:

sudo apt-get install netatalk avahi

相关内容