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,所以这里只介绍该系统的设置方法)
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,写入如下内容
<service-group>
<name replace-wildcards=”yes”>%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>
4、重启 netatalk 和 avahi
sudo service netatalk restart
sudo service avahi-daemon restart (貌似不重启也可以)
5、 Mac OSX 这边的设置
打开 “Finder” -> “前往” -> “连接服务器…” -> “浏览”,这时应该看到你的 Ubuntu 电脑了,使用 Ubuntu 系统中的帐号和密码登录进入之后应该会看到“TimeMachine”文件夹,尝试在里边创建一个文件夹以测试是否有写入权限,一旦没法创建文件夹的话那么你需要返回 Ubuntu 把 “TimeMachine” 文件夹加上写入权限。
然后在 Mac 打开一个终端(位于 “应用程序” -> “实用工具” -> “终端”),执行这个命令让 Time Machine 能够使用网络磁盘作为备份目标位置:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
打开 “系统偏好设置” -> “Time Machine” -> “开” -> “选择磁盘” 然后选择 “Time Machine” 文件夹。
现在所有设置都完成了,测试一下吧
点击菜单栏上的 Time Machine 图标,再点击 “立即备份”,没有问题的话应该开始备份文件了,首次备份需要很长时间,所以最好接上交流电并且设置节能器永不进入睡眠。