というわけで、ちぇんじ、LepardO〜んしたからには乗らずにいられぬTime Machine.
乗り心地、最高でした。
で、時間旅行の際に気づいたことを3つほど。

「誤解」その1:バックアップ中は作業できない
そんなことはありません。初期バックアップの最中でも、かなり普通に使えます。見ての通り、ファイル数が167万もあったので(!)、初期バックアップには6時間近くかかりましたが、その間に実際私は記事を二本ばかり書いたぐらいです。
Activity Monitor で見た限りでは、Load Average は 0.2-0.3程度でした。
とはいえ、初期バックアップの際にあまりファイルシステムを大きくいじるような作業はしない方がいいというのはTime Machineに限らずバックアップの鉄則。初期バックアップは「初夜」にやるのが吉でしょう。
いったん初期バックアップが終わってしまえば毎時間ごとバックアップを取ってくれますし、通常の使い方なら一分ほどで終わります。
「誤解」その2:Time Machine用のHDDは他の用途に使えない
これまたそんなことはありません。Time Machineのバックアップ先は、"Sparse Disk Image Bundle"という、ディスクイメージに見えるフォルダです。見ての通り、ここでバックアップ先として指定したTime Capsuleの中には、この他にも"Others"というフォルダを作ってあります。普段持ち歩かなくてもいいようなファイルは、別途ここに保存することも出来ます。
Time Machineは、リストア要求がある都度、この「ディスクイメージ」をマウントして時間を遡ります。
「誤解」その3:あのGUIを通さないとファイルをリストアできない
「細かい作業はTerminal.appで」という方は、これが最大の懸念になるでしょう。ご安心ください。リストアは普通にshellから出来ます。
まず基礎知識として、Time Machineがバックアップされたデータがどこに保存されるかを把握しておきましょう。
/(root disk)にroot-diskと名付けていた場合、Time Machineのディスクがマウントされている状態で、
/Volumes/Backup of root-disk/Backups.backupdb/root-disk/YYYY-MM-DD-HHMMSS/root-disk
が、YYYY年MM月DD日HH:MM:SSにバックアップされたスナップショットとなります。
あとは
% cd '/Volumes/Backup of root-disk/Backups.backupdb/root-disk/YYYY-MM-DD-HHMMSS/root-disk' % cd ./Users/dankogai/Desktop
とかした上で、cpするもよしtarするもよしなのですが、ここで一つ留意点があります。
tar、cp -p、rsync -Eなど、HFS+ (Mac OS X のファイルシステム)の拡張属性をコピーするコマンドの場合、バックアップ元の「消すべからず、動かすべからず」というフラグ(ACL)までコピーされてしまうので、そのままではせっかくファイルを復活しても何も出来ない羽目になってしまいます。
これらのACLおよび拡張属性を確認するには、ls -l にeと@をつけます。eはACL、@は拡張属性です。
% ls -le@ Picture\ 1.png 20 -rw-r--r--@ 1 dankogai staff 20146 Jul 26 18:02 Picture 1.png com.apple.FinderInfo 32 com.apple.metadata:_kTimeMachineNewestSnapshot 50 com.apple.metadata:_kTimeMachineOldestSnapshot 50 com.apple.metadata:kMDItemIsScreenCapture 42 com.apple.metadata:kMDItemScreenCaptureType 48 0: group:everyone deny write,delete,append,writeattr,writeextattr,chown
たとえば
% tar cf - deleted | (chdir ~/restored/ && tar xvpf -)
という感じでrestoreした場合、~/restored/deletedにはこれらもそっくりコピーされています。
Finder経由で強制操作することもできるのですが、それではshellを使っている意味がありません。一番手っ取り早く操作するには、
% chmod -R -a# 0 ~/restored/deleted
とします。
拡張属性もACLも不要という場合は、リストアの際に
% rsync -av deleted ~/restored/
と、rsyncに-Eを付けずに実行するのがよいでしょう。mtimeなど、statがらみ、すなわち古き良きUnixの属性はそのままに、OS X固有の情報は華麗にスルーしてくれます。
まとめ
ちなみに私はTime Capsule 1TBをバックアップ先にしていますが、単なる外付けHDDなら500GBなら一万円前後、1TBでも2万円前後からあります。これでバックアップが楽しくなるのですから堪えられません。
本来最も退屈で、しかし後悔先に立たずの代表的なバックアップという作業が楽しくなるというのは、本当にすごい。ACLの使い方といい、確かにAppleのセンスに脱帽しました。
弾言しちゃいます。Time MachineのないLeopardなんて、鍋に入らない猫だ!
Dan the Leopard Tamer
See Also:
OS買おうかどうか迷ってましたが買うことにしました。
そうそう、どうやらLeopardは864MH以上にしか駄目とか
うたわれていますが、それ以下でも大丈夫らしいですね。
ウチのPowerBookで試してみようかしらん。
鍋に無事入ってくれる事を祈ります。
(かわいさは猫鍋優位だと思いますがいい例えですね、笑っちゃいました)