如何使用cos(oss)或其他云服务做Mac的备份备份存储(时间机器)
步骤
- 将云服务挂载为本地磁盘
- 创建备份磁盘
- 指定时间机器的磁盘为备份磁盘
将云服务挂载为本地磁盘
将云服务挂载为本地磁盘的方案有很多,目前有很多的第三方工具都支持,比如Mountain Duck、S3fs、Goofys,这里选择juicefs,uicefs为对象存储的元数据提供了缓存,能极大的优化对挂载磁盘的list,get等操作。
-
注册并登陆juicefs
-
创建文件系统,因为我有很多其他的云服务都使用的腾讯云,所以我这里选择的是腾讯云的COS,小伙伴们可以根据自己的需求选择对应的服务
- 根据指引,挂载到Mac上
这里可以参考juicefs官网的提示,使用两行命令来操作
但是这里有个前提条件,就是Mac必须先安装osxfuse,非m1的电脑的安装过程我印象中下载之后直接安装就可以了,m1的系统里需要安装4.1以上的版本,这里可以直接去官网下载安装。
安装好之后,在系统的偏好设置=》安全性与隐私这里会有提示要安装一个什么扩展,点左下角的小锁之后点击安装扩展,之后会有个弹窗提示进入恢复系统
,然后提示你点击关机。
关机之后,非m1的系统是cmd+R 进入恢复系统,m1是长按开机键进入恢复系统。进入恢复系统后,选取实用工具->启动安全性实用工具。具体流程可以参考在M1 Macbook上使用SSHFS挂载SFTP协议文件系统
安装好之后就可以继续操作挂载磁盘了。
两行命令中的第一行是下载juicefs,并给予juicefs权限,这里我选择直接克隆juicefs的github代码来编译,因为go1.17之后的版本支持arm系统了,所以我选择了直接编译。
自己克隆+编译的方式很简单:
git clone https://github.com/juicedata/juicefs.git ~/juicefs
cd ~/juicefs
make
chmod +x ./juicefs
之后就会在目录里发现一个juicefs的可执行文件,我们在接下来就进行挂载
cd ~/juicefs
sudo ./juicefs mount xxxxxxxxxxx /jfs
这里的第二行的命令和juicefs文档上的第二行命令保持一致就可以了,如果需要把这个磁盘挂载到其他目录,可以修改/jfs
为其他目录的路径
之后根据提示,输入云服务的相关凭证即可。
在访达中按下快捷键cmd+shift+c
就能看到挂载的所有磁盘了。
进入到刚刚挂载的磁盘中,继续创建备份磁盘。
创建备份磁盘
cd /jfs
hdiutil create -size 1t -type SPARSEBUNDLE -fs "HFS+J" "Time Machine.sparsebundle"
这里的1t就是备份磁盘的大小,Time Machine.sparsebundle是文件的名称。
执行完成之后就能看到这个镜像文件了,之后双击打开即可。
之后右键上图红圈位置,可以给磁盘改名字,我这里就叫time
了
指定时间机器的磁盘为备份磁盘
我们可以进入/Volumes/Time
中看一下,如果上一步挂载好了,这里会也会显示出来。
之后执行命令
sudo tmutil setdestination /Volumes/Time
搞定,然后打开系统偏好设置的世界机器看一下吧~
至此,在云服务上备份Mac就搞定了,但是相比于直接那个硬盘来备份,还是有些缺陷的
优缺点
优点:
- 不需要单独购买硬盘,不用担心硬盘损坏
- 不需要随身携带一个硬盘,有网就能用
缺点:
- 必须有稳定的网络才可以
- 在网络差的情况下,如果挂载了磁盘,会导致访达卡顿
- 需要持续为云服务付费
- 如果我电脑崩了,我需要在我电脑上再挂载一次之后才能恢复……
所以,基于以上的优缺点,我想了想,还是买了一块移动硬盘……然后移动硬盘和云服务备份同时使用。
参考文章:
https://kane.mx/posts/2019/using-s3-as-device-for-mac-time-machine-backup/