MAC和树莓派实现文件共享和TM备份

  • 使用 netatalk 让 Linux 与 Mac OS X 共享文件

  • 为 Mac 搭建 Time Machine 备份服务器

Mac OS X 系统自带了一款简单易用的备份软件 Time Machine,它能够每小时进行增量备份(即只备份有更改的文档),所以如果你使用 MacBook Pro/Air 笔记本而且需要处理的文档比较多,那么使用 Time Machine 通过无线网络备份是一种不错的选择。可惜使用 Time Machine 需要一个外接硬盘或者购买一台 Apple Time Capsule 设备,而下面的方法是通过安装 netatalk 软件,让一台普通 Linux 树莓派能与Mac OS X共享文件并且还能充当 Time Machine 的备份服务器。

1、树莓派安装 netatalk

netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 系统通过它可以充当 Mac 的文件服务器 (AppleShare File Server, 网络协议是 AFP)、AppleTalk 路由、打印服务器等。

# 使用如下命令安装 netatalk

sudo apt-get install netatalk
pi@raspberrypi ~ $ sudo apt-get install netatalk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  avahi-daemon bind9-host cracklib-runtime db-util db5.1-util libavahi-core7 
libbind9-80 libcrack2 libdns88 libisc84 libisccc80 libisccfg82 liblwres80 
libnss-mdns libpam-cracklib
  lsof rc wamerican
Suggested packages:
  avahi-autoipd texlive-base-bin groff quota db4.2-util
The following NEW packages will be installed:
  avahi-daemon bind9-host cracklib-runtime db-util db5.1-util libavahi-core7 
libbind9-80 libcrack2 libdns88 libisc84 libisccc80 libisccfg82 liblwres80 
libnss-mdns libpam-cracklib
  lsof netatalk rc wamerican
0 upgraded, 19 newly installed, 0 to remove and 1 not upgraded.
Need to get 4,056 kB of archives.
After this operation, 9,783 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y

2、设置共享文件夹

编辑文件 

sudo nano /etc/netatalk/AppleVolumes.default

这里的每一行即代表一个共享文件夹,默认会把当前用户的 $HOME 文件夹共享出来,如果不希望这样的话则找到“~”一行并把它注释掉,加入如下的一行:

/home/pi/nas "CohoStudio_NAS"

这表示将 /home/pi/nas 文件夹共享出来,共享名为"CohoStudio_NAS"。

3、设置 Time Machine 备份文件夹

跟上一步类似,只要在共享设置后面增加参数 “options:tm” 就可以了,比如(在nas文件夹下面创建time_capsule):

/home/pi/nas/time_capsule "Time_Capsule" options:tm

4、安装及配置 Avahi

Avahi 是 Apple’s Zeroconf 协议的开源实现,实现类似 Bonjour 的功能,它可以让你在 Mac 系统里自动发现你的 Linux 计算机。

sudo apt-get install avahi-daemon(可选,用于支持网内的计算机自动发现)

创建文件 

sudo nano /etc/avahi/services/afpd.service

写入如下内容(Port:548):(Archlinux 已经存在此文件,不需要创建)


%h

_afpovertcp._tcp
548


_device-info._tcp
0
model=Xserve

5、启动 netatalk 和 avahi

$ sudo service netatalk restart
$ sudo service avahi-daemon restart

默认2345都是on的,所以下面两个命令就没有必要了。

pi@cohostudio ~ $ sudo chkconfig --add netatalk
insserv: warning: script 'K01aria2' missing LSB tags and overrides
insserv: warning: script 'aria2' missing LSB tags and overrides
insserv: warning: script 'mathkernel' missing LSB tags and overrides
netatalk                  0:off  1:off  2:on   3:on   4:on   5:on   6:off
pi@cohostudio ~ $ sudo chkconfig --add avahi-daemon
insserv: warning: script 'K01aria2' missing LSB tags and overrides
insserv: warning: script 'aria2' missing LSB tags and overrides
insserv: warning: script 'mathkernel' missing LSB tags and overrides
avahi-daemon              0:off  1:off  2:on   3:on   4:on   5:on   6:off
pi@raspberrypi ~/nas $ sudo service netatalk restart
Restarting Netatalk Daemons (this will take a while)Stopping Netatalk Daemons: afpd cnid_metad papd timelord atalkd.
..Starting Netatalk services (this will take a while):  cnid_metad afpd.
done.
pi@raspberrypi ~/nas $ sudo service avahi-daemon restart
[ ok ] Restarting Avahi mDNS/DNS-SD Daemon: avahi-daemon.

MAC连接LINUX上面的AFP服务

输入linux系统的用户名pi和密码即可登陆。

6、Mac OSX 系统上的设置

右击 “Finder” -> “连接服务器…” -> “服务器地址”,使用 Linux 系统中的帐号和密码登录进入之后应该会看到 “CohoStudio_NAS” 和 “Time_Capsule” 文件夹。

afp://xxxx.jios.org # AFS服务器地址

MAC和树莓派实现文件共享和TM备份_第1张图片

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

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

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

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

7、将MAC系统备份到树莓派上面

点击菜单栏上的 Time Machine 图标,再点击 “立即备份”,没有问题的话应该开始备份文件了(一般来说可以只备份用户文件,即可以把系统文件都排除掉),首次备份需要很长时间,所以最好接上交流电并且设置节能器永不进入睡眠。

转载于:https://my.oschina.net/wangcong9188/blog/312667

你可能感兴趣的:(MAC和树莓派实现文件共享和TM备份)