Time Machine:バックアップファイルのサイズ制限

解決策を求めて何時間も苦しみ、見つけた方法をHabrの読者と共有することにしました。





Time Machineは、すべてのバックアップを「成長中のディスクイメージパッケージ」に保存します。配置の物理サイズは、その中のデータが占めるのとまったく同じスペースを占有します。 このアプローチにより、ストレージをパーティションに分割する必要がなくなります-異なる目的のために-すべてのイメージパッケージは同じ物理パーティションに保存され、必要な場合にのみメガバイトとギガバイトを消費します。 特定のタスクに割り当てるサイズを事前に知らない場合に便利です。



「拡張ディスクイメージパッケージ」の便利な機能は、最大サイズに制限を設定することです。 Time Machineは、最初の起動時に、それが配置されるパーティションの全容量に等しい制限を持つイメージパッケージを作成します。 また、空き領域がなくなると、古いバックアップが削除され始めます。 Mac OS X 10.6.3以前では、 hdiutilユーティリティを使用してこの制限を変更する方法がありました。 たとえば、次の行は、イメージパッケージの最大サイズの制限を500 GBに設定します。



hdiutil resize -size 500G -shrinkonly /Volumes/Data/macbook.sparsebundle
      
      





ただし、10.6.3アップデートでは、Time Machineが起動するたびにイメージパッケージパラメーターが自動的に変更され、変更された場合やメディア容量が変更された場合に制限のサイズがデフォルト値(つまり最大値)に復元されます。



Appleからの問題に対する公式の解決策はまだありません。 解決策は別のトリックです- イメージパッケージに必要なサイズ制限を設定した後、イメージパッケージのパラメーターの変更ブロックする。



イメージ設定は、 Info.plistおよびInfo.bckupファイルのイメージ自体に保存されることに注意してください。 また、パラメーターの変更をブロックするには、これらのファイルの変更をブロックする必要があります。 chmodを使用した単純な書き込み禁止は機能しません。 しかし、別の方法で動作します(10.8.2) -SetFileユーティリティを使用してファイルをブロックします:



 SetFile -a L /Volumes/Data/macbook.sparsebundle/Info.*
      
      





このコマンドを実行すると、Time Machineは画像パラメーターを変更できなくなります。





SetFileは Mac OS Xユーティリティの標準セットの一部でなく、Xcodeアプリケーションとオプションのコマンドラインツールコンポーネントをインストールすることでインストールされます。



再び画像パラメーターを変更できるようにするには、ロックを削除する必要があります(大文字の「L」の代わりに大文字のバージョン「l」を置くことだけが異なる同じ引数を使用します)。



 SetFile -al /Volumes/Data/macbook.sparsebundle/Info.*
      
      





PS: この議論の研究中に方法が見つかりました。



All Articles