局域网内使用 Samba 搭建 macOS 时间机器的远程备份
局域网内使用 Samba 搭建 macOS 时间机器的远程备份
update: 02/04/2023 23:42
samba是一个历史悠久的开源软件。可用于Linux 和 Unix 标准的文件与 Windows 互相操作。而 macOS 本身就是基于 Unix 衍生而来,因此理论上我们可以通过 samba 服务搭建属于我们自己的文件共享服务。
本文通过在一台 24小时不间断运行的 Ubuntu 服务器上搭建 samba 服务,实现了局域网内的 macOS 时间备份。备份的目标地址是 Ubuntu 上指定的文件夹。
1. 在 Ubuntu 上设置 samba
1.1 Ubuntu 安装 samba 服务和相关插件
- 注1: 注意本文需要
samba >= 4.8
sudo apt update
sudo apt install samba -y
sudo apt install samba-vfs-modules -y
# 验证安装
whereis samba
# 查看 samba 版本
samba -V
# 查看 samba 服务状态
sudo systemctl status smbd
1.2 创建时间机器的目录
# 将 <your path> 替换成你想存放时间机器的文件夹
sudo mkdir -p <your path>
# 验证是否创建成功
ls <your path>
1.3 修改 samba 的配置
1.3.1 在 [global] 配置下增加如下设置
[global]
min protocol = SMB2 # 最小支持为 SMB2
ea support = yes # Apple 扩展需要支持扩展属性(xattr)
1.3.2 新增 [TimeMachineBackup] 条目
- 注1: 该条目的名字可以自由定义
- 注2: 需要将
path = <your path>
替换为你刚刚创建的时间机器的目标目录
[TimeMachineBackup]
comment = macos time machine backup # 备注
path = <your path> # 你的目标文件夹,使用你刚刚创建的文件夹的绝对目录
browseable = yes
read only = no # 设置非只读
writable = yes # 设置可写,与上面作用相同
public = no # 设置为非公开
# create mask = 0700
guest ok = no # 取消匿名访问
# valid users = <your username> # 这里可以设置指定用户访问
vfs objects = fruit streams_xattr # 次序很重要
fruit:time machine = yes # 设置为 time machine
fruit:metadata = stream # 如何存储 OS X 元数据
fruit:model = MacSamba # 访达中的图标
# 文件清理的一些配置
fruit:veto_appledouble = no
fruit:nfs_aces = no
fruit:posix_rename = yes
fruit:zero_file_id = yes
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
1.3 重启 samba 服务
sudo /etc/init.d/samba restart
1.3 添加 samba 用户
- 注1: 替换
为你 Ubuntu 的用户名 - 注2: 如果你设置的用户名不是 Ubuntu 上已有的用户,将会创建失败
- 注3: 这里的密码与你 Ubuntu 用户的密码可以不同
sudo smbpasswd -a <your username>
# 输入你 Ubuntu 存在的用户名,设置一个新的密码
2. macOS 设置时间机器
2.1 macOS Ventura(13) 开启远程时间机器
- 在要用作“时间机器”备份目的位置的 Mac 中,选取苹果菜单 苹果 >“系统设置”。
- 点按边栏中的“通用”,然后点按右侧的“共享”。
- 打开“文件共享”。系统可能会要求你输入管理员密码。
- 点按“文件共享”旁边的信息按钮 。
- 点按“共享文件夹”列表下的添加按钮 (+),然后选取一个用于“时间机器”备份的文件夹。
- 按住 Control 键点按你添加的文件夹,然后从显示的快捷菜单中选取“高级选项”。
- 选择“共享为时间机器备份目的位置”,然后点按“好”。
在其他 Mac 电脑上设置“时间机器”时,你现在应该能够选择这个共享文件夹作为备份磁盘。
2.2 更早版本的 macOS 开启远程时间机器
- 在要用作“时间机器”备份目的位置的 Mac 中,选取苹果菜单 苹果 >“系统偏好设置”。
- 点按“共享”。
- 从左侧的服务列表中,选择“文件共享”。
- 点按右侧“共享文件夹”列表下的添加按钮 (+),然后选取一个用于“时间机器”备份的文件夹。
- 按住 Control 键点按你添加的文件夹,然后从显示的快捷菜单中选取“高级选项”。
- 选择“共享为时间机器备份目的位置”,然后点按“好”。
在其他 Mac 电脑上设置“时间机器”时,你现在应该能够选择这个共享文件夹作为备份磁盘。
2.3 设置时间机器的备份硬盘
2.3.1 首先确保你的 MacBook 和 Ubuntu 位于同一局域网中
2.3.2 打开 系统 > 时间机器,选择你 Ubuntu 上硬盘
2.3.3 输入你刚刚设置的 samba 服务的账户名和密码)
Reference
- Samba 官网
- Samba 推荐的支持 macOS 的设置
- (macOS 开启 SMB 远程时间机器)[https://support.apple.com/zh-cn/HT202784]
- 一位仁兄的博客,但是我找不到地址了,以后找到了补上