月曜日, 4月 04, 2011

シンボリックリンクを使ってiPhoneのバックアップデータを移動させた

最近MacBook内蔵のHDDが圧迫されてきたような気がします。はじめ内蔵のHDDだけでやってきたものをiTunesの音楽ファイルの増大によりファイルを外付けHDDに移し、容量が大きくあまり使わない写真等のファイルも次第に外付けHDDにおくことになりました。にもかかわらず今頃になって残量を見ると最初90GBちょっと残っていた容量がいつのまにか30GB強にまで減っていました。何が容量を食っているのかと。そこでホームディレクトリから順番にサイズの降順でひとつひとつ調べていくことにしました。


iPhoneのバックアップデータ

まずホームディレクトリ直下のLibraryディレクトリは100GBちょっと容量がありました。ちょっと;´Д`);´。どうなってんのこれは。と順々に下層のディレクトリを見てゆくと、 ~/Library/Application\ Support/MobileSync/Backupが膨大な容量を占めていることがわかりました。これは今まで何気なく行なってきたiPhoneやiPadといったiOSデバイスのバックアップのデータ。

私はMacBookのHDDのバックアップにTime Machineを使用していますがそのバックアップと iOSデバイスのバックアップの仕方は異なるようです。私の使用感ですので間違っているかもしれないのですが、

Time Machineの場合は変更のあった部分だけを追加でバックアップするのに比べ、iOSデバイスのバックアップは変更にかかわらず容量の全てをバックアップしているために一回のバックアップにかかる容量が大きい

ように思うのです。私のiPhoneの場合32GBのうち5~6GB容量を使っているので一回のバックアップで5~6GBがMacBookのHDDに蓄積されてゆくことになります。10回やれば50~60GBです。どこに保存されているのかもわからず何度もバックアップしたデータがMacBookのHDDの容量を占めるまでになっていたのです。


バックアップデータの移動

「ならばこれも外付けのHDDに移動させようではないか」と思ったのですが、ここで問題がおきました。

  1. 「iTunes Media」のように保存場所をiTunes側で選択することはできない。
  2. iTunes Mediaの場所 「iTunes Media」は保存場所を選ぶことができますが、IOSデバイスのバックアップディレクトリの場所を変更する方法はiTunesではサポートされていません。

  3. 単に適当なディレクトリに移動させただけではiTunesで復元時にそのバックアップファイルを呼び出すことはできない。
  4. 適当な場所に移動させたファイルはiTunesでバックアップファイルと認識されません。 iOSバックアップ ↑ ~/Library/Application\ Support/MobileSync/Backup/にあるファイルはバックアップファイルとして認識される。
このままだと、「外付けHDDにとりあえずバックアップデータを移しておいて、必要なときに 『~/Library/Application\ Support/MobileSync/Backup/』 に移動させて使う」という面倒なことになってしまいます。

しかし、いい方法がありました。シンボリックリンクを使うんだ。

参考記事:
やっぱりマックでしょ!臨時 - (旧ぐだぐだ開発日記): ハードディスク容量不足 iPad おまえか!





シンボリックリンク

IT用語辞典を見るとシンボリックリンクは「あるファイルやディレクトリに別の名前を与え、ユーザやアプリケーションがその名前をファイル本体と同様に扱えるようにする仕組み。」と書かれています。大事なのは

「その名前をファイル本体と同様に扱える」

ということです。別の場所にファイルがあっても実際に必要な場所にそのファイルのシンボリックリンクがあれば同様に扱われます。

チュートリアル

便宜的に外付けHDDの名前を「External」バックアップのディレクトリ名を「iOSBackup」とします。

  1. ターミナルを起動させ、
    cp -r ~/Library/Application\ Support/MobileSync/Backup/ /Volumes/External/iOSBackup/
  2. 元あった~/Library/Application\ Support/MobileSync/Backup/を削除する
  3. ln -s /Volumes/External/iOSBackup/ ~/Library/Application\ Support/MobileSync/Backup
  4. iTunesを再起動する

これで次回のバックアップからファイルはシンボリックリンク「~/Library/Application\ Support/MobileSync/Backup」を通って「/Volumes/External/iOSBackup」に保存されます。

おわりに

使ってないバックアップファイル(一年以上前のものなど)は残しておいても仕方ないので削除して容量を減らすのもひとつの手です。
iOSデバイスのバックアップファイルを外付けに移動させたことでHDD残量が70GBちょっとまで戻りました。よかったよかった。
Desktop

Related Posts

Clip to Evernote

Disqus for Knk_n, aN unsKilled everNote"r"