第332回 Cocoa対応で大きく変わった「Emacs 23.1」(2)』で取りあげたEmacs 23.1のフォント設定ですが、読者の方から「M+ + IPA」をご紹介いただきました。はい、確かに、M+ OUTLINE FONTSは未収録の文字が多数ありますので、こちらを選ぶほうが現実的だと思います。皆さまも、ご意見ご指摘タレコミあるいはファンレターを、どしどしお寄せくださいませ。

Snow Leopardへバージョンアップ、その前に「Time Machine」でバックアップすべし

さて、今回は「Time Machine」について。Leopardで登場したこの機能、外付けHDDを指定さえしておけば、内蔵HDDの全領域を定期的に自動バックアップ、HDDのクラッシュなど不慮の事故によるファイル喪失被害を最小限に食い止めるという優れモノだ。Snow Leopardのリリースを間近に控えたいまだからこそ、システム移行を踏まえた賢いバックアップ術を検討したい。

TimeMachine、そのしくみ

Time Machineの小技を紹介する前に、その基本的な仕組みについて解説しておきたい。Leopardで一新されたサービス (デーモン) の起動手順も絡む話となるため、知っておいて損はないだろう。

Time Machineによるバックアップ処理は、サービスの一種であるbackupd (/System/Library/CoreServices/backupd) により実行される。backupdは「launchd」の働きにより、/System/Library/LaunchDaemonsディレクトリに保存されているplistファイルに応じて起動されるしくみだ。なお、Leopardにおけるlaunchdの詳細については、白山氏によるレポート『the inner universe of Leopard - 「rcの引退とlaunchdの強化』を参照いただきたい。

そのplistファイルには、Time Machine全体を管理する「com.apple.backupd.plist」、バックアップ先のマウント状況を確認する「com.apple.backupd-attach.plist」、バックアップ対象ファイルの変更履歴を調査する「com.apple.backupd-auto.plist」、サービス実行中の挙動を決める「com.apple.backupd-wake.plist」の4種類が用意されている。

早い話が、標準の設定ツールであるシステム環境設定の「Time Machine」ペインは、backupdのフロントエンドに過ぎない。それらplistファイルに手を加えれば、Time Machineのバックアップ機能をカスタマイズする余地があるのだ。

よくあるトラブル、その対策

若干話は逸れるが、Time Machineを使ううえで"ありがち"なトラブルについて、対処策を紹介しておこう。バックアップ先HDDにある「Backups.backupdb」フォルダを手動で削除すると、以後Time Machineの起動に失敗する問題についてだ。

システム環境設定パネルの「Time Machine」ペインでバックアップ先のボリュームを指定し、はじめてbackupdが起動されると、そのボリュームのルート (トップディレクトリ) に「.com.apple.timemachine.supported」というサイズゼロのドットファイルが作成される。このファイルの有無をたよりに初期バックアップを実行するかどうかが決定されるため、いきなり「Backups.backupd」フォルダを削除しても、初期バックアップがスキップされてしまうのだ。

バックアップは「Backups.backupdb」フォルダに蓄積されるが、ボリュームのルートにあるドットファイルをゆめゆめ忘るることなかれ

つまり、この問題の対策としては、「.com.apple.timemachine.supported」を削除してから「Backups.backupdb」フォルダを削除 / リネームし、その後でバックアップ先ボリュームに指定し直せばいいことになる。Snow Leopardへアップデートする前に初期バックアップからやり直す場合には、十分注意したい。

小刻みにバックアップする

折角なので、Time MachineのTIPSも2つほど紹介しておこう。最初に紹介するのは、バックアップののサイクルを1時間未満に"小刻み化"する方法だ。

手順はかんたん、以下のコマンドラインをTerminalから実行すればいい。この例では、サイクルを1200秒 (20分) としているが、600秒 (10分) にすれば、より慎重にバックアップを作成できるはず。HDD容量とのバランスを考慮して、1800秒 (30分) とするのもアリだろう。

$ sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 1200

※設定を元に戻す場合
$ sudo defaults delete /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval

バックアップのスケジュールを変更する

LeopardのTime Machineは、機能のON/OFFとボリュームの指定、バックアップを除外するフォルダの指定程度しかカスタマイズの余地がない。特定の日だけ実行したり、1日1度だけ決まった時刻に実行したり、といった設定には対応しないのだ。

そこで紹介したいのが、フリーウェアの「TimeMachineEditor」。バックアップ実行のサイクルを日 / 週 / 月単位で指定できるほか、特定の曜日のみ1時間単位で実行する、といった標準機能にはない設定が可能になる。cronライクにバックアップを実行できれば、と願うユーザにはお勧めだ。

cronライクにTime Machineのバックアップサイクルを指定できる「TimeMachineEditor」