利用树莓派打造时间机器 TimeMachine

#智能家居 2022-04-04 13:05:11 | 全文 2073 字,阅读约需 5 分钟 | 加载中... 次浏览

👋 相关阅读


什么是 Time Machine

Time Machine (时间机器)是 Mac 的内置备份功能。您可以使用 Time Machine 对您的所有文件进行自动备份,包括应用、音乐、照片、电子邮件、文稿和系统文件。如果您拥有备份,当原始文件从 Mac 永久性删除或者 Mac 中的硬盘(或 SSD)被抹掉或更换时,可以从备份恢复文件。

Time Machine 可以说是 Mac 上最好用的功能之一!只需开启,数据丢失的问题就几乎完全不用担心了!就连系统完全坏了都能 100% 还原回来!甚至还可以选择还原到哪个时间点!简直太方便了!当然很关键的是备份最好不要和源文件在一个硬盘上,以免硬盘坏了源文件和备份就一起丢失了。

图片alt

利用树莓派搭建无线 Time Machine

看着大家用 TimeMachine 甚欢,但是自己又不想再搞一块硬盘……刚好树莓派上空间还多,那么不如将树莓派用作 TimeMachine,就可以像 iCloud 云备份一样可以无感自动备份了。

其实过程……真的真的很简单!

需要设备材料:

1、硬盘格式化分区

如果熟悉挂载硬盘的操作可以直接跳过这部分,直接看配置 Time Machine。

首先插上硬盘通过 sudo fdisk -l 查看一下硬盘状态:

图片alt

可以看出这里的是 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 已经挂载上去了。

图片alt

以上就是手动挂载的方式,但是迫于断电重启的问题,每次挂载有点麻烦,所以设置启动时自动挂载硬盘是个不错的办法。

自动挂载硬盘

在系统开机时会主动读取 /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。

图片alt

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

使用 Time Machine

接下来配置 MAC 上的 Time Machine。

打开系统设置,找到 Time Machine(时光机器),解锁后点击「选择磁盘」,如果配置无误且在同一个局域网的话,会看到共享的 TimeMachine 硬盘:

图片alt

然后选择磁盘就会发现刚创建好的,然后输入前面设置的用户名 timemachine 以及对应的密码然后连接即可。

图片alt

图片alt

使用感受

首次 330G 的全量备份大概花了 10 个小时,抛开第一次全量备份外每天的增量备份在 10G 左右备份时间也都在半小时内,所以不会占用太长时间。实际使用了一周的后,最便捷的就是只要连上家中 Wi-Fi 就会开始备份,同时也不用担心备份一半就要出门会导致备份损坏的情况。对我个人习惯来说下班回家之后会把电脑外接显示器使用,此时就会开始备份。相比于硬盘备份实在方便很多,通常来说很难做到坚持每天回家接上硬盘点击备份,这个更像一个部署在局域网的 iCloud 云备份。当然这个也和每个人的使用习惯相关,假如你下班回家之后连电脑都懒得从包里拿出的话,那么定期备份一次才是更加适合你的选择。

Time Machine 备份策略在你硬盘足够大的情况下是可以追溯 24 小时的每小时备份,即使没有连接到 Time Machine 也会在本地磁盘中存储快照。这种机制下可以很方便追溯 24 小时内的版本,对于误删或者误操作覆盖等情况都可以快速找回。

VIA

利用树莓派打造时间机器 - 少数派 https://sspai.com/post/69197

树莓派默认密码_从此Mac上的文件再也不会丟了,我来教你使用树莓派做无线时间机器…_weixin_39604280的博客-CSDN博客 https://blog.csdn.net/weixin_39604280/article/details/111388712

Edit | Last updated on 2024-04-21 11:10:27




×