设置 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. Unity中正面视图的相机最大距离定位

    问题背景: Unity中在场景中有这样的需求,就是俯视整个场景或者平视整个场景.这种情况下场景中物体长宽比不一定和相机视口长宽比一致,要保证所有的物体都在视口内,并且距离不能太远,,所以处理起来需要点 ...

  2. 【ClickHouse】0:clickhouse学习1之数据引擎(数据库引擎,表引擎)

    ClickHouse提供了大量的数据引擎,分为数据库引擎.表引擎,根据数据特点及使用场景选择合适的引擎至关重要,这里根据资料做一些总结. 数据库引擎官方文档: https://clickhouse.t ...

  3. koa web框架入门

    1.在hello-koa这个目录下创建一个package.json,这个文件描述了我们的hello-koa工程会用到哪些包.完整的文件内容如下: { "name": "h ...

  4. 使用中台 Admin.Core 实现了一个Razor模板的通用代码生成器

    前言 前面使用 Admin.Core 的代码生成器生成了通用代码生成器的基础模块 分组,模板,项目,项目模型,项目字段的基础功能,本篇继续完善,实现最核心的模板生成功能,并提供生成预览及代码文件压缩下 ...

  5. 日文乱码转换 | Windows下使用方法详解

    背景:有一个乱码的日文txt,需要让它正常显示. 一.下载转换软件 这应该是软件作者的主页 http://acg17.com/9713.html 也可以在这里获取软件: https://wwa.lan ...

  6. Vue3 之 computed 计算属性的使用与源码分析详细注释

    目录 计算属性的基本用法 计算属性的源码 shared 工具方法抽离 计算属性的基本用法 computed 一般有两种常见的用法: 一:传入一个对象,内部有 set 和 get 方法,属于Comput ...

  7. oeasy教您玩转 linux 010212 管道 pipe

    上一部分我们都讲了什么? 牛说cowsay 牛可以有各种表情 可以自定义眼睛 可以变成各种别的小动物 可以说也可以想cowthink 我们也想让牛说出字符画的感觉 回顾字符画 下载figlet和toi ...

  8. C# 12 新增功能实操!

    前言 今天咱们一起来探索并实践 C# 12 引入的全新功能! C#/.NET该如何自学入门? 注意:使用这些功能需要使用最新的 Visual Studio 2022 版本或安装 .NET 8 SDK ...

  9. RHCA rh442 001 调优本质 调优方法 监控

    调优是一种感知 调优按照成本和性能 一.架构及调优 二.代码及调优 三.配置类调优 从调优效果和成本成正比 设计电商,日访问百万级,未来可能千万级 数据库 系统 服务器多少台 缓存 appache,n ...

  10. mysql索引失效的情况七字口诀:“模型数空运最快”

    mysql索引失效的情况 七字口诀:"模型数空运最快" 模:使用like进行模糊查询的时候,以百分号%开头的,索引就会失效. 型:代表数据类型,数据类型错误了,索引也会失效. 数: ...