古いバックアップを手動で削除してTime Machineの空き容量を増やすにはどうすればよいですか?


224

バックアップにTime Capsuleを使用していますが、今度はドライブで追加のMacからデータをバックアップする必要があります。しかし、ドライブはMac 1の古いバックアップでいっぱいです。Mac2のバックアップに使用できる十分なスペースがありません。

Time Machineバックアップを実行すると、次のエラーメッセージが表示されます。

Time Machineはバックアップを完了できませんでした。 このバックアップは、バックアップディスクには大きすぎます。バックアップには28.68 GBが必要ですが、使用できるのは626.2 MBのみです。

Time Machineには、バックアップを保存するために必要なスペースに加えて、バックアップディスク上の作業スペースが必要です。Time Machineの設定を開いて、より大きなバックアップディスクを選択するか、ファイルを除外してバックアップを小さくします。

Time Machine自体は、より多くのスペースが必要なときに古いバックアップを削除できることを知っています。ただし、この場合、Mac 2用のスペースを確保するためにMac 1バックアップを削除しません。

質問は、どうすれば手動で行うのですか?


3
外付けドライブがどれほど安いかを考えると、私はそれを購入してあなたの追加のマシンに使用したいと思うでしょう。:私は要素好む amazon.com/Western-Digital-Elements-External-WDBAAU0010HBK-NESN/...
james.garriss

2
@ james.garrissの良い点:)しかし、私はまだタイムカプセルでドライブを交換する必要があります:)
ジェスパーロン-ジェンセン

1
TMに1歳以上のバックアップに対して月に1つのバックアップのみを保持するように依頼する方法があるかどうかは誰でも知っていますか?
-gamov

2
TMディスクに2つの異なるパーティションを作成し、Macごとに異なるパーティションを選択することはできませんか?
ピエールワトレ

回答:


235

次のコマンドの取り消しや確認は行われないため、sudoに注意し、正しいMacのファイルを選択するようにしてください。

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/old_mac_name

sudoコマンドにはパスワードが必要です(画面にエコーされないので、パスワードを入力して一時停止し、Enterキーを押す前に正しいファイルの日付を確認してください)。より安全にしたい場合は、最初に削除するスナップショットを1つ選択して、コマンドが意図したとおりに機能することを確認できます。これは、大きなバックアップセットをクリーンアップするのに何時間もかかる可能性があり、正しいインフォメーションストアを削除しているとMacに確信させたいので便利です。

このtmutilツールを使用して、バックアップを1つずつ削除できます。

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss

tmutilLionで導入されて以来、これは以前のOSバージョンでは動作しません。

バックアップの現在のディレクトリを取得する場合(複数の宛先を定義できますが、1つだけが「現在」になります)

sudo tmutil machinedirectory

4
魅力のように働いた。ハードドライブが変更されたため、元のタイムマシンセットから切断された巨大な古いバックアップがありました。sudo rm(これは奇抜です)で削除できませんでしたが、これでうまくいきました。ありがとう!
デヴィッドピソニ

2
@drfrogsplatはい、ただし、古いバックアップを使用する場合、元のMacが死んでいることはよくあります。私の場合、バックアップドライブのスペースを解放して、新しいMacのバックアップに使用できるようにしています。
Abhi Beckertの

5
@square_eyesそれは、ハードリンクされたファイルの削除が機能する方法ではありません。同じファイルに100個の間隔があるとしましょう。ファイルはディスクに1回存在しますが、リンクカウントは100です。削除すると、そのディレクトリエントリは削除した場所から消え、リンクカウントは99になります。リンクカウントが0になると、ファイル自体が削除されます。他のすべての削除は、ディレクトリエントリを削除するだけです。
bmike

5
バックアップを1つずつ削除する必要はありません。入力してsudo tmutil delete 、削除するすべてのバックアップをターミナルウィンドウにドラッグできます。@drfrogsplatのマニュアルページには、このコマンドが別のマシンで作成されたバックアップを削除できることが記載されています。
ポイント

2
@pointumは正しいです。さらに、ターミナルにとどまる場合は、次のようにワイルドカードを使用できます: 'sudo tmutil delete 2015- *'これは、特に回転ディスクの場合、遅いプロセスになる可能性があるため、複数のファイルを削除することが健全性と効率性にとって重要です。
マットドレッセル

81

最も簡単な方法は次のとおりです。

  1. タイムマシンを入力します(バックアップを削除するMac上)
  2. 削除したい時点に移動します
  3. ファインダーで歯車のようなアイコンを選択し、「バックアップの削除」を選択します(Mavericksで:ファインダーウィンドウで右クリックし、「バックアップの削除」を選択します)

これにより、バックアップカタログが正確に保たれ、データの整合性が維持されます。


3
@drfrogsplatは、Appleが提供するGUIを使用することがバックアップを削除する最良の方法(すべてのバージョンで機能する)であり、複数の視覚フィードバック(注意深く見た場合)と入力する前のチェックがあるため、エラーが発生しにくいことは非常に正しいです削除が永続的であることを確認するためのパスワード。
bmike

1
私は、COGメニューにマーベリックスの削除、バックアップ項目を参照してくださいいけない
brainray


1
それが(何らかの理由で)部分の削除を行うとき、それはあなたが、その後だけでそれを削除することはできませんので、部分的なバックアップがある場合を除き忘れtmutil delete
イェルーンWiert Pluimers

1
「Waiting ...」問題がある場合、これは機能しません。apple.stackexchange.com/questions/207787/…待機が常に機能するとは限りません。
アルモ

39

以下のためのマーベリックス/ヨセミテ

  1. タイムマシンに入る
  2. バックアップを選択
  3. バックアップを右クリックします(ファインダーウィンドウ上)
  4. 「バックアップの削除」を選択します

パスワードを尋ねられ、完了です

ここに画像の説明を入力してください


バックアップを右クリックします:どこですか?
ブレインレイ

あなたは、右側のウィンドウの真ん中にクリックFinderウィンドウが表示されます、あなたは、オプションのリストが表示されます
インダー・クマールRathore

13
Time Machineは削除を実行せず、Time Machineを終了するまでパスワードを要求しないことに注意してください。また、削除するファイルとフォルダーを選択した後にTime Machineを終了する手順も明らかではありませんcancel。左下隅をクリックする必要があります。(どうやら、あなたが「キャンセル」しているのはファイルの復元です。これを行うと削除はキャンセルされたとは思われないようです。)
mhucka 14年

3
これは別のマシンからもうまくいきました。古いMBPは揚げられ、新しいMBPは異なるハードドライブ名とパーティションなどを持っています。最後にTMディスクがいっぱいになり、古いマシンのバックアップをすべて削除したくありません。だから、オプションを押したまま、メニューバーのタイムマシンをクリックし、「他のバックアップディスクを閲覧する」。同じ名前のドライブを接続することで、最初の古いバックアップを取得できました。そこから古いドライブ構造に移動し、このヒントを使用していくつかの本当に古いバックアップを削除できます。
マーク

または、サイドバーのルートデバイスフォルダをクリックするだけです(古いパーティションとドライブ構造が表示されます)。私の場合、「デバイス-> Macbook Pro」
マーク

18

このスクリプトは、コンピューターの最も古いTMバックアップを自動的に検出し、最も古いバックアップと最新のバックアップのどちらであるかを通知し、最も古いバックアップを削除するプロンプトを表示します。Y削除するには、管理者パスワードを入力および入力する必要があります。

bashスクリプト:

COMPUTER_NAME=$(scutil --get ComputerName)
NBACKUPS=$(tmutil listbackups | grep "$COMPUTER_NAME" | wc -l)
OLDEST_BACKUP=$(tmutil listbackups | grep "$COMPUTER_NAME" | head -n1)
LATEST_BACKUP=$(tmutil latestbackup)
echo Latest backup: $LATEST_BACKUP

if [[ -n "$LATEST_BACKUP" && "$LATEST_BACKUP" != "$OLDEST_BACKUP" ]]; then
     echo -n "$NBACKUPS backups. Delete oldest: ${OLDEST_BACKUP##*/} [y/N]? "
     read answer
     case $answer in
         y*)
             echo Running: sudo tmutil delete "$OLDEST_BACKUP"
             sudo time tmutil delete "$OLDEST_BACKUP"
             ;;
         *)
             echo No change
             ;;
     esac
 else
     echo "No backup available for deletion"
 fi

要約すると、このスクリプトはコンピューターの最も古いTMバックアップを自動的に検出し、最も古いバックアップと最新のバックアップを示し、最も古いバックアップを削除するプロンプトを表示します。Y管理者パスワードを削除するには、管理者パスワードを入力および入力する必要があります。
ヘンジー

3
これにより、sparsebundleバックアップファイルのサイズが自動的に縮小されないことに注意してください。あなたはで行くと実行する必要がありますsudo hdiutil compact /path/to/disk-image
Hengjie

14

私はこのまさに質問を自問してきました、そして、ここでの答えは確かに助けました。ただし、欠けている側面があります。これは、この質問に答えたときに存在しなかった新しい実装の「詳細」である可能性があります。

tmutil delete確かにバックアップを削除しますが、少なくとも保証された方法ではなく、実際にそれらが取ったスペースを再利用しません。2年以上前からバックアップを削除するのに丸2日ほど費やしました。400Gbのデータ。空きバックアップ領域の表示がそれに応じて1回増加するのを確認しましたが、次のバックアップの後、再び7%の使用可能領域に低下しました(約450Gbの代わりに858Gbが使用されました)。それは本当に私を妨害した。

その謎への答えはここにあります:http : //blog.hawkimedia.com/2012/08/reclaiming-a-timemachine-volumes-disk-space/ 要するに、実際にバックアップを保持するまばらなバンドルを圧縮する必要がありますネットワークディスク、またはHFS +でフォーマットされていないディスクでホストされている場合。スパースバンドルでホストされていないTMバックアップがないので、使用tmutil deleteしてもこれらが無料で再生されるかどうかを確認できません。それはうまくいくかもしれませんし、Time Capsuleにないという事実は、単にスパースバンドルプロトコルの特性かもしれません。後に実行するコマンドsudo tmutil deletesudo hdiutil compact /Volumes/YourTimeMachineDisk/YourBackupName.sparsebundleです。私の場合、報告した

Starting to compact…
Reclaiming free space…
...................................................................................................................................
Finishing compaction…
Reclaimed 403.2 GB out of 583.5 GB possible.

幸いなことに、このコマンドはtmutilの数分の1の時間しかかからず、ディスク上でシークする時間とRAMの使用時間が大幅に短縮されました(実際、この回答を書くのにかかった時間で完了しました)。


現在、スパースバンドルなしでバックアップを削除していますが、追加の手順を実行せずにスペースが解放されているようです。
アルモ

12

Time Machineが実際に差分のみをバックアップしている場合、逆の順序で削除することは望みません。さらに、各削除には時間がかかることを考えると、現在のスクリプトが完了したときに次のスクリプトを削除するスクリプトがあると便利です。

上記のuser36971のサンプルスクリプトに従って、指定された以前のバックアップからすべてのバックアップを削除するスクリプトを作成しました。

#!/bin/bash

if [ -z "$1" ]
then
    echo "must specify backup id: YYYY-MM-DD-HHMMSS"
    exit 1
fi

FOUND_BACKUP=0;
BACKUPS=""
while read line; do
    if [[ "${line}" == *$1* ]]
    then
        FOUND_BACKUP=1;
    fi

    if [ "${FOUND_BACKUP}" == "1" ]
    then
        BACKUPS+="${line}"$'\n'
    fi
done < <(/usr/bin/tmutil listbackups | tail -r)

if [ "${FOUND_BACKUP}" == "0" ]
then
    exit 1
fi

printf '%s' "$BACKUPS"

echo -n "Delete above backups? [y/N]? "
read answer
case $answer in
    y*)
        while read line; do
            if [ -n "${line}" ]
            then
                echo Running: /usr/bin/sudo /usr/bin/tmutil delete "${line}"
                /usr/bin/sudo time /usr/bin/tmutil delete "${line}"
            fi
        done < <(echo "${BACKUPS}")
        ;;
    *)
        echo No change
        ;;
esac

ください注意私は私のスクリプトでコンピュータ名のチェックが含まれていませんでしたので、あなたは、複数のコンピュータで1台のバックアップドライブを共有している場合、あなたは追加のチェックを追加する必要があります。


1
TMは、実行ごとにデルタのみをバックアップしますが、実行ごとにバックアップディスクに完全なコピーを保持します。実行ごとに変更されないファイル(これはそれらのほとんどを意味します)については、新しいディレクトリエントリが追加されるだけです。これは、実行間に小さなデルタしかない場合、空き領域の大幅な増加に気付く前に多くのバックアップを削除する必要があることを意味します。
nohillside

2
バックアップを削除する順序に違いはありません。実際、ワイルドカードを使用tmutil deleteして特定の年のすべてのバックアップを削除すると、それらは最も古いものから最新のものまで削除されます。ところで、ワイルドカードを使用すると、ほとんどの場合にスクリプトを使用するよりもはるかに簡単です:)
mluisbrown

より良いフィードバックを提供するために、バックアップの削除行の前にprintf '%s' "$ BACKUPS"を追加することをお勧めします
petr

2
私は、次のような、しばらく使用せずに複数のバックアップを削除することができます sudo tmutil delete 2016-06-12-184217 2016-06-19-080529 2016-06-26-092218
yuxuan

-3

ターミナルを開くだけです

#sudo tmutil disablelocal

これにより、TMバックアップを削除せずにスペースが解放されます。


3
これにより、内部ドライブからのローカルTime Machineスナップショットが無効になります-OPが求めているものではありません。
スコットランド

2
はい-これは、Macブートボリューム上の領域のみを解放します。宛先では解放しません。有用ですが、IMOの別の質問に答える必要があります。
bmike

-3

古いバックアップを削除するために私がやったことはステップバイステップです

  1. Open Time Machine Disk
  2. フォルダーBackups.backupdbを見つけて開きます
  3. 日付別に表示し、一番古いものを選択します
  4. 削除するバックアップを選択します
  5. Teminalを開いて入力します sudo rm -rvf
  6. ターミナルウィンドウで、削除する古いフォルダーをドラッグアンドドロップします
  7. プロンプトでユーザーパスワードを入力します

コーヒーを飲んだり、映画を観たりしてください。処理が完了したら、削除したくないいくつかのフォルダについてもう一度繰り返す必要があります。

古いフォルダーがすべてなくなったら、Time Machineはデータベースを更新する必要があります。Time Machineを強制的に更新する方法を次に示します。

  1. Time Machineを入力し、リストに残っている最も古いバックアップに移動します
  2. それを選択し、小さな歯車をクリックしてから、「バックアップを削除」を選択します
  3. パスワードを入力して、数分待ちます
  4. Time Machineインターフェースを終了して、再び戻ってきます。これで、Time Machineに正しいバックアップがリストされるはずです。

14
こんなことしないで。Time Machineは複雑なリンクシステムを使用します。バックアップが破損する場合があります。参照してくださいpondini.org/TM/Home.html
HARV

2
http://pondini.org/TM/Works.htmlを読んだ後、使用して古いバックアップを削除するsudo rm -rvfとTime Machineが壊れる理由がわかりません。このrmコマンドは、下部のFinderから削除する提案のコマンドライン代替です。http://pondini.org/TM/12.html
Pro Backup
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.