用Samba把TimeMachine备份在windows服务器上

Mac的TimeMachine备份只支持AFP协议,所以默认情况下是没有办法备份在windows共享里面的,不过可以曲线救国下,通过备份在磁盘镜像稀疏磁盘的方式,备份在windows上

创建磁盘镜像

这里要创建的不是常见的DMG镜像,而是稀疏捆绑磁盘镜像[1],目的是稀疏捆绑磁盘镜像是随着使用占用的空间而逐渐增大,不用一下子就把空间分好了,另外后期也可以动态调整大小,另外还有个分不清的叫稀疏磁盘镜像也可以,不过我选择的是稀疏磁盘捆绑镜像[2]

有2种方式来创建稀疏捆绑磁盘镜像

  • 命令行方式
1
2
cd ~
hdiutil create -size 600g -type SPARSEBUNDLE -fs "HFS+J" TimeMachine.sparsebundle
  • 通过磁盘工具

打开磁盘工具(spotlight搜下磁盘就出来了),在文件新建->新建空白映像里面新建个,需要修改映像格式为稀疏捆绑磁盘映像,大小修改下自己写个数字可以写500gb这种mac会自动识别

把磁盘镜像拷贝到网络驱动上

打开finder CMD+K smb://你的ip地址,然后把生成的镜像拷贝到你的windows共享中,并且双击下镜像文件mount下

把这个镜像设置成你的TimeMachine备份设备

开个终端

1
sudo tmutil setdestination /Volumes/TimeMachine

注意看你的volume目录是不是这个目录,可以cd到volume目录里面查看,替换成自己的

设置成开机自动连接

通过applescript的方式实现:
打开脚本编辑器(spotlight 搜applescript)

1
2
3
4
5
try
mount volume "smb://readyshare/TimeMachine"
end try

do shell script "hdiutil attach -mountpoint /Volumes/TimeMachine/ /Volumes/TimeMachine/TimeMachine.sparsebundle"

不足之处

这种方式不能使用可以恢复到任意时刻的OSX的恢复功能,只能先重装个系统,然后mount上镜像,再恢复,当然可以把镜像拷贝到移动硬盘上,插到mac上这样应该也可以使用OSX的恢复功能


  1. https://zh.wikipedia.org/wiki/稀疏磁盘映像

  2. https://www.v2ex.com/t/240799