Time Machine (时间机器)是 Mac 的内置备份功能。您可以使用 Time Machine 对您的所有文件进行自动备份,包括应用、音乐、照片、电子邮件、文稿和系统文件。如果您拥有备份,当原始文件从 Mac 永久性删除或者 Mac 中的硬盘(或 SSD)被抹掉或更换时,可以从备份恢复文件。
Time Machine 可以说是 Mac 上最好用的功能之一!只需开启,数据丢失的问题就几乎完全不用担心了!就连系统完全坏了都能 100% 还原回来!甚至还可以选择还原到哪个时间点!简直太方便了!当然很关键的是备份最好不要和源文件在一个硬盘上,以免硬盘坏了源文件和备份就一起丢失了。
看着大家用 TimeMachine 甚欢,但是自己又不想再搞一块硬盘……刚好树莓派上空间还多,那么不如将树莓派用作 TimeMachine,就可以像 iCloud 云备份一样可以无感自动备份了。
其实过程……真的真的很简单!
需要设备材料:
1、硬盘格式化分区
如果熟悉挂载硬盘的操作可以直接跳过这部分,直接看配置 Time Machine。
首先插上硬盘通过 sudo fdisk -l
查看一下硬盘状态:
可以看出这里的是 NTFS 格式的硬盘,我这里要根据 /dev/sdb 把硬盘格式化为 ext4 格式:
sudo mkfs.ext4 /dev/sdb
手动挂载硬盘
格式化完成后,重新通过 sudo fdisk -l
查看硬盘状态,此时我们可以把硬盘挂载到指定目录下:
## 创建挂载目录
sudo mkdir 自定义的指定目录
## 挂载
sudo mount Device名称 自定义的指定目录
举例:
sudo mkdir /media/pi/backup
sudo mount /dev/sdb /media/pi/backup
查看硬盘状态 df -h
,此时 /dev/sdb 已经挂载上去了。
以上就是手动挂载的方式,但是迫于断电重启的问题,每次挂载有点麻烦,所以设置启动时自动挂载硬盘是个不错的办法。
自动挂载硬盘
在系统开机时会主动读取 /etc/fstab 这个文件中的内容,根据文件里面的配置挂载磁盘。 所以我们只需在 /etc/fstab 加入我们硬盘信息即可。
首先编辑文件:
sudo vi /etc/fstab
在 /etc/fstab 中加入 UUID 指定目录 硬盘文件系统格式 defaults,nofail 0 0
举例:UUID="3f63fe7c-1173-4423-ad02-6bf92e15c2b7" /media/pi/backup ext4 defaults,nofail 0 0
其中 nofail 的作用为当挂载硬盘失败时不会影响系统的启动,当你不知道硬盘文件系统格式时,可以通过 sudo blkid
查看硬盘的 UUID 和 TYPE。
2、配置 Time Machine
配置用户
首先新增 linux 的系统用户(这里用 timemachine 举例):
sudo adduser timemachine
将前面挂载磁盘权限修改为 timemachine 用户:
sudo chown -R timemachine: /media/pi/backup
安装 SMB
首先更新一下软件源:
sudo apt-get update && sudo apt-get upgrade
安装 Samba:
sudo apt-get install samba
配置 SMB
添加 smmba 用户并设置密码:
sudo smbpasswd -a timemachine
编辑 Samba 的配置文件:
sudo vi /etc/samba/smb.conf
在 /etc/samba/smb.conf 文件的全局配置 [global] 段应增加如下设置以禁用 SMB1 协议和支持 macOS 系统的拓展属性:
[global]
#Apple extensions ("AAPL") run under SMB2/3 protocol, make that the minimum (probably shouldn't be running SMB1 anyway...)
min protocol = SMB2
#支持macOS系统的拓展属性
ea support = yes
其次,作为备份的共享文件夹设置应设置支持 Time Machine,/etc/samba/smb.conf 文件追加以下配置:
[TimeMachine]
comment = TimeMachine Backup
## 填入硬盘挂载路径
path = /media/pi/backup
browseable = yes
public = no
writable = yes
create mask = 0700
## 用户名按需修改为前面创建的
valid users = timemachine
## 加载模块以支持AAPL拓展,注意顺序很重要!
vfs objects = catia fruit streams_xattr
## 支持AAPL
fruit:aapl = yes
## 存储macOS的元数据
fruit:metadata = stream
## 设置服务器在finder中的图标
fruit:model = MacSamba
## 设置支持Time Machine
fruit:time machine = yes
## 文件清理相关配置
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
配置好后重启 samba 服务让设置生效:
sudo systemctl restart smbd
更多详细的 Samba 设置,请查看: 树莓派开启Samba共享(smb) - 膨胀的面包 https://blog.wangtwothree.com/smart_home/184.html
3、配置广播服务
Raspberry Pi OS 默认安装和启用了 Avahi 服务,Avahi 服务会自动提供服务广播。因为 Time Machine 只能选择系统自动发现的硬盘,所以树莓派需要广播让 macOS 发现支持 Time Machine 的备份硬盘存在。如果你的系统未安装 Avahi,使用该命令可安装:
sudo apt install avahi
启动并且设置 Avahi 服务自动启动:
sudo systemctl enable avahi-daemon && sudo systemctl start avahi-daemon
接下来配置 MAC 上的 Time Machine。
打开系统设置,找到 Time Machine(时光机器),解锁后点击「选择磁盘」,如果配置无误且在同一个局域网的话,会看到共享的 TimeMachine 硬盘:
然后选择磁盘就会发现刚创建好的,然后输入前面设置的用户名 timemachine 以及对应的密码然后连接即可。
首次 330G 的全量备份大概花了 10 个小时,抛开第一次全量备份外每天的增量备份在 10G 左右备份时间也都在半小时内,所以不会占用太长时间。实际使用了一周的后,最便捷的就是只要连上家中 Wi-Fi 就会开始备份,同时也不用担心备份一半就要出门会导致备份损坏的情况。对我个人习惯来说下班回家之后会把电脑外接显示器使用,此时就会开始备份。相比于硬盘备份实在方便很多,通常来说很难做到坚持每天回家接上硬盘点击备份,这个更像一个部署在局域网的 iCloud 云备份。当然这个也和每个人的使用习惯相关,假如你下班回家之后连电脑都懒得从包里拿出的话,那么定期备份一次才是更加适合你的选择。
Time Machine 备份策略在你硬盘足够大的情况下是可以追溯 24 小时的每小时备份,即使没有连接到 Time Machine 也会在本地磁盘中存储快照。这种机制下可以很方便追溯 24 小时内的版本,对于误删或者误操作覆盖等情况都可以快速找回。
利用树莓派打造时间机器 - 少数派 https://sspai.com/post/69197
树莓派默认密码_从此Mac上的文件再也不会丟了,我来教你使用树莓派做无线时间机器…_weixin_39604280的博客-CSDN博客 https://blog.csdn.net/weixin_39604280/article/details/111388712