Time Machine でバックアップされたファイルの一覧を調べる

Mac OS X Leopard (10.5系) 以降に標準装備のバックアップ システム、Time Machine。

ときどき、やたらと時間かかるよなぁと感じることがある。

で、システム環境設定の Time Machine で確認してみると数百メガバイトから数ギガバイトをバックアップ中ときたもんだ。

そんなに巨大なファイルは明示的バックアップ対象外に設定してあるし(VMware のイメージとかね)、MacPorts の更新とか時間がかかる大規模な変更の前にはちゃんと自動バックアップ無効化のうえ要所要所で手動バックアップを入れている。

もちろん背後でいろんなアプリケーションを常駐させているので数十メガバイト程度ならば受け入れられるのだが、ここまで大きな変更となると正直納得いかない。

いったい何をそんなにバックアップしてるんだ。

どこかにバックアップしたファイル一覧のログは残っていないのだろうか。


少しばかり調べてみたものの、ついにそのようなログを見つけることはできなかった。

ログではないのだが、世代間の変更点はコマンドラインから調査できるようなのでこれで一応の目的は達成。
ただし動作確認は OS X Lion 上でしかしていないので悪しからず。

そのコマンドがこちら。

$ tmutil compare path1 path2
path1path2 にはそれぞれ Time Machine ストレージ上のパスを指定する。これらの間での変更点が一覧表示される。なお path1path2 は省略可能。片方を指定しない場合はバックアップ同士ではなく、現在の / までの変更点が一覧表示される。両方とも指定しなければ、次回のバックアップで保存される変更点の一覧表示になる。

使い方はこんなかんじ。
$ cd /Volumes/Time\ Machine\ バックアップ/Backups.backupdb/(コンピューター名)
$ tmutil compare 2012-01-16-152901 2012-01-16-162304
! (mtime) /Volumes/Time Machine バックアップ/Backups.backupdb/(コンピューター名)/2012-01-16-162304/Macintosh HD/Library/Preferences
! (mtime) /Volumes/Time Machine バックアップ/Backups.backupdb/(コンピューター名)/2012-01-16-162304/Macintosh HD/Library/Preferences/SystemConfiguration

(中略)

! (mtime) /Volumes/Time Machine バックアップ/Backups.backupdb/(コンピューター名)/2012-01-16-162304/Macintosh HD/private/var/run

                                                                        • -

Added: 0B
Removed: 48.0K
Changed: 20.2M

(mtime) は最終変更時刻の更新検出、ということなのだろうか?


この tmutil というユーティリティで、CUI から Time Machine の様々な機能を制御できる。

man ページを流し読みしてみると、GUI(システム環境設定)からは設定できないような、いわば隠し機能とでもいうべきコマンドなんかもあったりして面白いよ。