TimeMachine の不要なデータをコマンドラインで消したのに空き容量が増えなかったときの対処

この記事は、岩手県立大学 Advent Calendar 2018の8日目の記事です。
引き続き、謎の使命感で投稿しています。

ランチネタも飽きてきたので、そろそろ別のネタを... と思ったのですが、あまりネタなかったのでこの間得た知見を記載します。

TimeMachine 使っていますか?僕は TimeCapsuleを使っています。
さて、新しいMBPを買いまして、こいつもTimeCapsuleにバックアップとろうとしたら、あとほんのちょっとだけ容量が足らなかったのです。

TimeMachine のデータの大半を、古いMBPのバックアップ(約36ヶ月分)が占めていたので、こいつの一部消して新MBPのバックアップを素早くとりたかったのです。

しかーし、GUIでTimeMachineをいじったことのある方ならわかると思いますが、すごくあれ重いんです。
各スナップショットを手動で消すのが面倒なので、コマンドラインでできないか調べたら、、、ありました。

tmutil コマンド!

TimeMachine を操作することができるみたいです。ぐぐるとたくさん情報でてきます。

例えば、このページにあるように、バックアップを列挙してから、

$ tmutil listbackups
/Volumes/Data Disk/Backups.backupdb/atelier/2015-07-27-110539
/Volumes/Data Disk/Backups.backupdb/atelier/2015-08-13-182112
/Volumes/Data Disk/Backups.backupdb/atelier/2015-08-24-111531

消します。

$ sudo tmutil delete /Volumes/Data\ Disk/Backups.backupdb/atelier/2015-07-27-110539
Deleting: /Volumes/Data Disk/Backups.backupdb/atelier/2015-07-27-110539

僕の目的は、すべてキレイに消すことではなくて、あとちょっとだけ空き容量を増やして新MBPのバックアップをとることなので、Shell で list の上部から削除するようにして、ちょっとだけ消えたことを確認できたら停止しようと思いました。

が、1晩かけて10個以上バックアップを消しても1バイトたりとも空き容量が減らないのです。

はじめは、差分バックアップだから、実はほとんど変わらない?みたいなことを考えたのですが、にしても0バイトということは考えにくいです。

調べてみると、、、、tmutil delete では、空き容量はファイル内に空いているという情報を書いているだけで、ディスク自体はバックアップファイルとして容量食ったままになるらしいんですね。

で、さらに調べると hdutil コマンドというのがありました!この方の hdutil compact というのを使うと、ファイル内の空いているところをうまく消して、ファイル自体の容量を減らして、空き容量を増やしてくれるらしいです。

$ hdutil compact /Volumes/Data Disk/Backups.backupdb/

のような感じで使います。コマンドを叩くとTimeMachineの容量が空いくのを確認できました!!!

まとめ

TimeMachine の 空き容量を増やすには、`tmutil delete` と `hdutil compact` を使う必要がある。

と、ここまできて、なんで tmutil と hdutil を同時に説明してくれる便利記事がないのかと思いまして「tmutil hdutil」と検索してみました。思ったより情報ないんですね。

ターミナルからTimeMachineのバックアップを削除して使用可能領域を増やす

とてもいい記事です。もしあなたが Time Machine の容量を減らしたくてこの記事に先にたどり着いたら、ぜひうえの記事をご覧ください。

この記事が気に入ったらサポートをしてみませんか?