配置远程Time Machine
Time Machine是MacBook提供的一个系统备份和还原的工具,但是平时总是连接着一个备份硬盘很麻烦,多方查找发现如果有服务器或者NAS的话,可以将远程硬盘作为Time Machine备份盘,现记录如下。
准备
服务器系统: ArchLinux
需要的软件:
1 | pacman -S netatalk |
netatalk 和 avahi - 实现零配置(zeroconfig,由Avahi实现)的苹果文件协议(Apple Filing Protocol,由netatalk实现),使得苹果设备能够通过网络实现TimeMachine备份
端口映射: AFP协议使用548端口,如果服务器位于内网需要端口映射的话请注意
配置
配置 /etc/afp.conf
:1
2
3
4
5
6
7
8
9
10
11[Global]
mimic model = TimeCapsule6,106
hosts allow = 192.168.1.0/16
log file = /var/log/afpd.log
log level = default:info
[Time Machine]
path = /g_data/g_backup/timemachine
valid users = timemachine
time machine = yes
vol size limit = 200000
mimic model
: 表示模拟的机器的型号,默认hosts allow
: 允许访问的网络,默认log file
: 日志文件,默认log level
: 日志记录级别,有info
,warn
,debug
等,默认path
: Time Machine 路径,需要自己设置valid users
: 登录用户,该用户是服务器上的用户,对上面path
目录要有访问权限,Mac客户端连接TimeMachine的设备会提示帐号密码,认证通过后才能访问磁盘,需要自己设置time machine
: Yes,默认vol size limit
: Time Machine的最大允许备份空间,单位是MB,这里是200G,可以自己设置,可以默认
如果没有/etc/netatalk/afpd.conf
和/etc/netatalk/AppleVolumes.default
的话,需要创建并写入:
1 | $ cat afpd.conf |
/path/to/TimeMachine
:/ect/afp.conf
中的path
<user>
:/ect/afp.conf
中的valid users
启动服务1
2systemctl start netatalk.service # 启动服务
systemctl enable netatalk.service # 开机启动服务
Setting up time machine/netatalk/afp on arch linux arm (pogoplug)验证下来还是有问题的。虽然上述步骤可以将磁盘挂载好,但是使用 TimeMachine 选择磁盘的时候却看不到这个挂载磁盘。原因是TimeMachine需要使用使用zeroconf来发现设备,这个zeroconf在Linux上的实现称为 Avahi
Avahi是一个自由软件的”零配置网络”实现(Zero-configuration networking, zeroconf),包括了多播DNS/DNS-SD服务发现系统。允许程序发布和发现位于一个局域网内的服务而不需要做任何配置。例如,你可以加入一个网络并立即找到打印机进行打印,或者查看文件以及和其他用户通讯。(Avahi(software)))
启动服务1
2systemctl start avahi-daemon.service # 启动服务
systemctl enable avahi-daemon.service # 开机启动服务
使用
在Finder
访达中输入Command+K
,地址栏输入afp://ip-of-your-server
,输入用户名和密码认证后会挂载好Time Machine。
此时打开Time Machine设置,添加里会出现挂载好的远程硬盘。