用Ubuntu 10.10构建Time Machine备份服务器

Apple Mac OSX 系统自带了一款简单易用的备份软件 Time Machine,“Time Machine 可自动保存 Mac 中所有内容的最新版本,包括照片、音乐、视频、文档,应用程序和设置等。只要需要,你就可以轻松让时光倒流,恢复任何文件。”,要使用 Time Machine 你必须使用一个外接硬盘或者购买一台 Apple Time Capsule 通过无线网络备份。因为 Time Machine 能够每小时实现增量备份(即只备份更改的文档),所以如果你的使用 MacBook (pro/air) 而且文档时常变动,最佳的方案应该是通过网络让系统时刻默默地自动备份。

下面将介绍一个简单的方法,只需简单设置一下 Ubuntu 10 就可以将你的电脑变成一台Time Machine备份服务器。(PS:理论上所有的 Linux 系统都可以实现,由于我使用的是 Ubuntu 10.10,所以这里只介绍该系统的设置方法 @ivarptr)

1、安装 Netatalk

Netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 通过它可以充当 Mac 的文件服务器 (AppleShare file server, aka AFP)、AppleTalk 路由、打印服务器器等。

使用如下命令安装 netatalk:

sudo apt-get install netatalk

2、设置 Time Machine 备份文件存放位置

你可以找系统剩余空间比较多的分区,然后在里面创建一个文件夹作为备份文件存放的位置,比如我的系统是 /backup/TimeMachine,然后把这个路径写入到配置文件 /etc/netatak/AppleVolumes.default:

#~/ “Home Directory”
/backup/TimeMachine “TimeMachine” options:tm

其中第一行最好注释掉,因为他会把每个用户的 Home 目录作为 AFP 目录,这样会扰乱我们 Home 目录的文件。比较关键的地方是 “options:tm”,这个选项其实就是让 netatalk 充当 Time Machine 服务器的意思。

3、安装及配置 Avahi

Avahi 是 Apple’s Zeroconf 协议的开源实现,实现类似 Bonjour 的功能,它可以让你在 Mac 系统里自动发现你的 Ubuntu 机器。在 Ubuntu 10.10 里,avahi-daemon 是默认已经安装好的,所以我们只需配置一下它就好了,创建文件 /etc/avahi/services/afpd.service,写入如下内容

%h
_afpovertcp._tcp
548
_device-info._tcp
0
model=Xserve


4、重启 netatalk 和 avahi

sudo service netatalk restart
sudo service avahi-daemon restart (貌似不重启也可以)

5、 Mac OSX 这边的设置

打开 “Finder” -> “前往” -> “连接服务器…” -> “浏览”,这时应该看到你的 Ubuntu 电脑了,使用 Ubuntu 系统中的帐号和密码登录进入之后应该会看到“TimeMachine”文件夹,尝试在里边创建一个文件夹以测试是否有写入权限,如果没法创建文件夹的话那么你需要返回 Ubuntu 把 “TimeMachine” 文件夹加上写入权限。

用Ubuntu 10.10构建Time Machine备份服务器

然后在 Mac 打开一个终端(位于 “应用程序” -> “实用工具” -> “终端”),执行这个命令让 Time Machine 能够使用网络磁盘作为备份目标位置:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

打开 “系统偏好设置” -> “Time Machine” -> “开” -> “选择磁盘” 然后选择 “Time Machine” 文件夹。

用Ubuntu 10.10构建Time Machine备份服务器

现在所有设置都完成了,测试一下吧

相关推荐