设置 SMB 服务

首先在 Ubuntu 中配置 SMB 服务。可以参考 Ubuntu 设置 SMB 服务

创建 APFS 磁盘映像

我们在 Ubuntu 上创建出的 SMB 共享文件夹可以用来存放文件,但是不能直接用来存放时间机器备份。因为时间机器是基于 APFS 文件系统的,而我们的 Linux 使用的是 Ext4 文件系统。

解决方法是我们可以在 SMB 共享文件夹里放一个 APFS 磁盘映像,然后挂载这个磁盘映像,再将这个磁盘映像作为我们的时间机器备份盘。

打开“磁盘工具”, N 创建新的空白磁盘映像。磁盘映像的存储位置我们可以直接选择刚刚创建的 SMB 共享文件夹。映像格式选择稀疏捆绑磁盘映像。

稀疏磁盘映像的特点是其实际大小是随着你的使用逐渐扩大的,不像“读/写磁盘映像”一开始设置了大小是多少就是多大。稀疏捆绑磁盘映像的大小一开始很小,只有在需要更多空间时才进行扩展。其设置的大小只是对最大大小的一个限制。关于稀疏映像的介绍可以看维基百科:Sparse Image | Wikipedia

而稀疏捆绑磁盘映像则是把原先的一整个磁盘映像文件分为多个小文件,可以查看 Disk images: Sparse vs. Sparse bundle? | Apple Community

对于SSD(固态硬盘)来说,稀疏捆绑磁盘映像通常是更好的选择,原因包括:

  • 写放大(Write Amplification)的减少:由于SSD的写操作相对有限,稀疏捆绑磁盘映像可以通过只修改变动的部分,而不是修改整个文件,来减少对SSD的写操作。

  • 效率和性能:稀疏捆绑格式允许单独对文件包中的部分文件进行操作和同步,这在频繁变更数据的情况下(如使用 Time Machine 备份)可以提高效率和性能。

创建磁盘映像时会要求填写两个名字,一个是“存储为”,另一个是“名称”。这里的“存储为”填写的名字是之后创建的映像文件的名字,比如 TimeMachine.sparsebundle。

“名称”填写的名字是挂载映像文件后磁盘映像的名字,比如双击 TimeMachine.sparsebundle 文件挂载映像后就会看到桌面出现了一个名为 Time Machine 的磁盘。

创建磁盘映像文件后会自动挂载磁盘映像,我们先推出磁盘映像,然后将磁盘映像文件 TimeMachine.sparsebundle 移动到 SMB 共享文件夹,然后再双击 TimeMachine.sparsebundle 挂载映像。

设置时间机器备份盘

然后我们使用命令设置时间机器备份盘为我们挂载的磁盘映像:

sudo tmutil setdestination "/Volumes/Time Machine"

如果你的磁盘映像的名字不是 Time Machine,则需要将其改为你磁盘映像的名字。

移除时间机器备份地址

如果你需要移除时间机器备份盘,需要首先查看当前时间机器备份盘的 ID:

$ tmutil destinationinfo
====================================================
Name : Time Machine
Kind : Local
Mount Point : /Volumes/Time Machine
ID : CD188373-789A-4AD5-B410-4A47A3B53FE8

可以看到名为“Time Machine”的备份盘的 ID 是 CD188373-789A-4AD5-B410-4A47A3B53FE8。拷贝这个 ID,然后运行:

sudo tmutil removedestination CD188373-789A-4AD5-B410-4A47A3B53FE8

使用体验

实际体验下来,发现基于 SMB 的时间机器备份很慢。我使用本地连接的 Samsung T7 SSD 进行备份时需要的时间大概为 2 个小时。而使用 SMB 文件共享在远程机器的西数蓝盘 SSD 上备份则需要 10 个小时左右。

参考:

  1. 苹果 macOS 时间机器备份至 windows linux 等 SMB 服务器
  2. 树莓派、Windows 设备都可以做你 Mac 的「时间机器」——利用 SMB 协议进行 Time Machine 备份 | 少数派

Mac 使用远程 Ubuntu 机器进行时间备份的更多相关文章

  1. Coding theano under remote ubuntu server from local Mac (在本地mac机器上,写、跑、调试、看-远程ubuntu上的theano代码)

    本人是奇葩,最近鼓捣了一套在mac上coding远程ubuntu上的theano代码的东东,记之以期造福后人. Overview: 下图是我的编程环境和网络环境 我期望能在本地mac机器上对远程的ub ...

  2. 设置Ubuntu为本地时间

    大家在切换操作系统的时候会发现一个问题, Windows 和 Ubuntu 的时间会出现不一致的情况.在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ub ...

  3. [eShopOnContainers 学习系列] - 03 - 在远程 Ubuntu 16.04 上配置开发环境

    直接把 md 粘出来了,博客园的富文本编辑器换成 markdown,没啥效果呀 ,先凑合吧.实在不行换地方   # 在远程 Ubuntu 16.04 上配置开发环境 ## 零.因 为什么要用这么麻烦的 ...

  4. mac上远程连接windows

    Microsoft 适用于 Mac 的远程桌面连接客户端 2.1.1 http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=1814 ...

  5. ubuntu 远程 ubuntu

    一:被远程端ubuntu配置 參考windows远程ubuntu这篇文章里面的ubuntu配置 二:远程端ubuntu配置 1:打开Remmina Remote Desktop Client软件,例如 ...

  6. ubuntu设置系统时间与网络时间同步

    ubuntu设置系统时间与网络时间同步   Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC).   系统时间:指当前Linux Ker ...

  7. centos 7.2 同步北京时间 ,多台机器同步时间

    linux 系统没有北京时间,同步的是上海时间 linux 系统有两个时钟:一个是硬件时钟,即BIOS时间:另一个是系统时钟,是linux系统Kernel(内核)时间. 系统开启时,系统会读取硬件时间 ...

  8. 如何同步两台Linux机器的时间?

    除了用NTP服务器之外,下面的命令可以做到让几台机器的时间都跟一台机器同步. date --set="$(ssh root@10.245.110.101 date)" 参考资料 = ...

  9. Windows + Ubuntu双系统时间不一致

    在安装Ubuntu和Windows双系统的情况下,Ubuntu的时间总会和Windows的时间相差8小时,原因在于widows认为BIOS时间是本地时间,Ubuntu认为BIOS时间是UTC时间 su ...

  10. MAC安装远程工具Securecrt的破解方式(详细有图)

    想要实现mac的远程连接功能,本来想使用终端的,但是终端的很多功能是欠佳的,所以决定安装一款,像windows的xshell一样好的软件,所以选择了这款Securecrt. 首先准备两个东西,一个是S ...

随机推荐

  1. 【论文阅读】IROS2022: Dynamics-Aware Spatiotemporal Occupancy Prediction in Urban Environments

    0.参考与前言 完整题目: Dynamics-Aware Spatiotemporal Occupancy Prediction in Urban Environments 论文链接:https:// ...

  2. ComfyUI进阶篇:ComfyUI核心节点(四)

    ComfyUI核心节点(四) 前言: 学习ComfyUI是一场持久战.当你掌握了ComfyUI的安装和运行之后,会发现大量五花八门的节点.面对各种各样的工作流和复杂的节点种类,可能会让人感到不知所措. ...

  3. P3938

    斐波那契 题意描述 输入 5 1 1 2 3 5 7 7 13 4 12 输出 1 1 2 2 4 点拨 根据题目去找规律,每一个儿子与父亲结点具有斐波那契数的规律,我们只需要每次找到该数在斐波那契数 ...

  4. Solo开发者社区-重新思考云原生应用的开发模式

    当前云原生应用的开发模式在 FaaS 环境下存在挑战,本文提出一种开发模式构想:"单体式编程,编译时拆分,分布式执行",旨在简化云应用开发,提升开发效率和应用性能.思路是通过编译器 ...

  5. 1.1 第一个hello程序

    还记得在每一个编程平台上的第一个程序都是hello world,现在就以这个程序为载体,先浅聊一下计算机系统吧. 1.预处理阶段,预处理器cpp根据字符#开头的命令修改原始的程序,并把头文件里的内容直 ...

  6. 题解:P10608 双人游戏

    题解:P10608 双人游戏 题意 给予你一个长度为 \(n\) 的字符串 \(c\),\(c\) 上有三种颜色的棋子,其中有 \(m\) 个空字符. 接下来有 \(m\) 个操作,每个操作意味小 M ...

  7. 写写stream流的终结操作

    终结操作和中间操作的区别:中间操作返回的一直都是stream,所以可以一直使用,但是终结操作返回的不是stream,后面不能继续操作 foreach:对流中的所有元素进行遍历操作 count:获取当前 ...

  8. 支付宝退款和结果查询接口简单实现(.Net 7.0)

    〇.前言 支付宝对 .Net 的支持还是比较充分的,在每个接口文档中都有关于 C# 语言的示例,这样就大大降低了对接的难度,很容易上手. 官方接口文档地址:退款-alipay.trade.refund ...

  9. Selenium 8个定位元素

    selenium 8个定位元素为:id.name.xpath.link_text.class_name.tag_name.css_selector.partial_link_text 1.id元素 浏 ...

  10. 万字干货:从消息流平台Serverless之路,看Serverless标准演进

    摘要:如今,Serverless化已经成为消息流平台发展的新趋势,而如何更好地基于Serverless化的消息流平台进行应用设计和开发,则成为了一个值得思考的问题. 本文分享自华为云社区<900 ...