MAC OSX - 大量移除不需要的 TimeMachine 備份
這幾天在整理自己 NAS 的空間,發現 TimeMachine 佔掉硬碟裡許多的空間,甚至比我的 MacBook Air 本身 256G 的空間都還大上好幾倍,大概有個 1.x T的大小。進入細查之後才發現,原來從買了 MAC 之後,就沒有做過備份空間的清除,這就恐怖了。於是試著進入 TimeMachine 中刪除比較舊的備份。
進入 TimeMachine 之後,可以由右邊的時間軸點選你要選擇的時間點。
(Image from : Use Time Machine to back up or restore your Mac - Apple Support)
選擇到要刪除的備份快照後,點選如下圖上方的齒輪,即可以看到刪除的樣式。
很明顯的,這個方案只適合只有幾個需要刪除的情況。於是找到 Apple Develop 手冊上的說法,關於 TimeMachine 有一個 tmutil
(Time Machine Utility) 的工具指令可以使用,tmutil
的功能非常多,舉凡建立新的快照、備份,甚至是進行兩個快照之間的差異比對他都可以。針對刪除不想要的 TimeMachine 備份則可以下以下指令。
1 | sudo tmutil delete /full/path/to/backup/Backups.backupdb/machine/backup-name |
以我自己的 MacBook Air 的話,備份路徑就是:
1 | /Volumes/Time Machine 備份/Backups.backupdb/mouson's MacBook Air |
完整路徑可能就是:
1 | /Volumes/Time Machine 備份/Backups.backupdb/mouson's MacBook Air/2016-09-14-073950 |
可以看到 Time Machine 備份方式每個快照都會以時間日期的方式建立資料夾內容。因此我們就可以透過指令刪除一系列的就備份。
例如我要刪除 2014 年 1 月的所有備份,就可以執行以下指令:
1 | sudo tmutil delete /full/path/to/backup/Backups.backupdb/machine/2014-01-* |
網路上也可以找到有人寫了簡易的批次檔,如這個部落格:The Grey Blog: Shrink Your Time Machine Backups and Free Disk Space 所提供的範例。
1 | $ sudo bash |
清除之後,在下次 Time Machine 備份的時候,系統就會使用掉你刪除的空間。而如果需要馬上清除空間,也可以使用 MAC 提供的另外一個工具:hdiutil
詳細的用法可以參考官方手冊:tmutil(8) Mac OS X Manual Page,清除的方法如下:
1 | sudo hdiutil compact /path/to/disk-image |
清除完畢之後,就可以獲得可用的空間了。我自己在執行 tmutil delete
時候發現,單獨刪除一個系統本身都還是需要重新計算一次變異,因此效率不是很好。刪除一個 1xG 的快照在無線網路的環境下刪了快半小時。所以,在使用 tmutil
做刪除時,如果時間不允許,砍掉重練或許也是一招。(這什麼結論呀!XD)
当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器