是不是每次备份只是创建一个快照,需要备份的全复制一遍呀,没有增量备份之类的功能?
看 Backups.backupdb 文件夹下就是备份日期作文件名的文件夹,每个体积都差不多
所以我需求基本上就是备份我的 Documents 等几个资料文件夹,所以还不如我直接拷贝了?更加安全可靠。
不过 time machine 备份是我点击任务栏看它显示正在备份的体积才不到两个 g,远远小于他要备份的体积,但速度又不像仅在做两个 g 的拷贝,所以它底层在做什么动作,和我自己手动备份有什么优势咩?
♥️
1
Wao 2017-08-21 19:24:16 +08:00
|
2
nichijou OP @Wao 他讲是增量备份 可我查看每次备份(Backups.backupdb 文件夹下就是备份日期作文件名的文件夹)体积都像是在做全拷贝,体积感人
|
3
lengjian 2017-08-21 19:38:27 +08:00 via iPhone
硬链接
|
4
chinvo 2017-08-21 19:38:54 +08:00
增量和 hard link
|
7
chinvo 2017-08-21 19:43:13 +08:00
TM 的一个主要功能就是同一文件的不同历史时期版本的恢复
|
8
nichijou OP |
9
lightening 2017-08-21 19:48:44 +08:00 1
@nichijou 可以理解为指针,两个指针指向一个磁盘区块。删除操作就是移除指针。当区块没有指针指向就会被垃圾回收掉。
|
10
nichijou OP |
11
chztv 2017-08-22 11:29:29 +08:00
如果仅仅备份 Documents 等几个资料文件夹,可以用 iCloud 或者 Google Backup,或者 Dropbox。
TM 的备份不仅仅是资料文件,是备份的整个 Mac 环境,哪天硬盘挂了,TM 会让你感觉到原来硬盘没坏过。 以上是我亲身感受,所以 TM 备份很重要。不用每天,至少每周备份下。 |
12
QAPTEAWH 2017-08-22 14:08:17 +08:00
HFS+ 有个神奇的 directory hard link 机制。
不过俱往矣,APFS 直接快照就行了( SSD 当备份盘的话...)。 |
13
shadownet 2017-08-22 15:01:47 +08:00
|
14
QAPTEAWH 2017-08-22 15:20:32 +08:00
@shadownet 你把该排除的排除掉。仔细看看说明,备份是频繁的(每小时),但留下来的不算频繁( 24 小时内的每小时,一个月内的每天,一个月前只是每周)。
|
16
nichijou OP @chztv
其他包括系统部分我全部手动 exclude 了,我有一种系统 pure 的强迫症,哪天系统挂了希望软件全部重新部署,当然必要的配置文件全都在 dropbox 里面 |
18
ItzhacLea 2017-08-24 02:13:27 +08:00
Time Machine 的實現依賴於 HFS+ 的 directory hard links,而 HFS+ 實現 directory hard links 是一個骯髒的 trick。
其他現代文件系統 (NTFS, EXT4, APFS...etc) 把 hard link 看作是同一個 inode 的不同文件名,但是 HFS+ 不是這麼做的。 如果你在其他系統下觀察 Time Machine 的目錄,你會發現大多數文件都不存放在 /Backups.backupdb 下,而是在 「.HFS+ Private Directory Data 」 文件夾下。這個文件夾在 macOS 下即使是 root 也是不可見的。 「.HFS+ Private Directory Data 」 文件夾就是 HFS+ 實現 directory hard links 的 trick。當一個文件 /文件夾被硬連結 (ln) 的時候,系統首先會把它挪入到這個文件夾中,並以 CNIDs 重命名;然後在原有位置建立一個 link,指向該文件 /文件夾。 這麼做的弊端非常明顯:一旦「.HFS+ Private Directory Data 」損壞,整個分區上的“硬連結”都會受到影響,不得不說這種設計十分可笑。 |
19
ItzhacLea 2017-08-24 02:52:11 +08:00
回到你的問題:
1. “是不是每次备份只是创建一个快照” 不是。但因為 HFS+ 實現硬連結的奇葩方式,導致整個備份過程看起來非常地繁瑣: a. 在 /Backups.backupdb 下建立新的文件夾,將新(發生了改動)的文件複製進去; b. 對自上一次備份後沒有發生改變的文件有兩種處理方式:如果在 /Backups.backupdb 下就硬連結,從 /Backups.backupdb 挪到「.HFS+ Private Directory Data 」文件夾;如果已經被硬連結,也就是文件已經在「.HFS+ Private Directory Data 」文件夾內,就原地建立一個 link,指向相應的文件; c. 修改 “ Latest ”,使其指向最新的備份文件夾,完成備份。 2. “没有增量备份之类的功能?” 有,因為是“硬連結”,所以不能從文件大小上判斷。 3. “所以我需求基本上就是备份我的 Documents 等几个资料文件夹,所以还不如我直接拷贝了?更加安全可靠。” 是。Time Machine 優勢在於全盤備份,但是基於 HFS+,需要靠自己對蘋果的信仰戰勝 HFS+ 的不穩定。 PS. 由於 HFS+ 特立獨行地處理 hard link,這裡的文件=文件夾。 |