Time Machine için boş yer açmak üzere eski yedekleri manuel olarak nasıl silebilirim?


224

Yedekleme için bir Time Capsule kullanıyorum ve şimdi sürücünün fazladan bir Mac'ten veri yedeklemesini istiyorum. Ancak, sürücü Mac 1'deki eski yedeklerle doludur. Mac 2 için yedek için yeterli alan yoktur.

Time Machine yedeklemesi çalışırken bu hata mesajını alıyorum:

Time Machine yedeklemeyi tamamlayamadı. Bu yedekleme, yedekleme diski için çok büyük. Yedekleme 28.68 GB gerektirir, ancak yalnızca 626.2 MB kullanılabilir.

Time Machine, yedekleri depolamak için gereken alana ek olarak, yedekleme diskinde çalışma alanına ihtiyaç duyar. Daha büyük bir yedekleme diski seçmek için Time Machine tercihlerini açın veya dosyaları hariç tutarak daha küçük hale getirin.

Time Machine'in daha fazla alana ihtiyaç duyduğu zaman eski yedeklemeleri kaldırabildiğini biliyorum. Ancak bu durumda Mac 2'ye yer açmak için Mac 1 yedeklemelerini kaldırmaz.

Asıl soru, el ile nasıl yaparım?


3
Ne kadar ucuz harici diskler olduğu göz önüne alındığında, bir tane satın alıp ekstra makineniz için kullanmaya başlarım. Öğeleri tercih ediyorum: amazon.com/Western-Digital-Elements-External-WDBAAU0010HBK-NESN/…
james.garriss

2
@ james.garriss iyi bir nokta :) Ancak, hala zaman kapsülümdeki sürücüleri değiştirmem gerekiyor :)
Jesper Rønn-Jensen

1
Herkes, TM'den bir ay boyunca yalnızca 1 yedeğini tutmasını istemek için bir komut dosyası yazmadan bir yol olup olmadığını bilir mi?
gamov

2
TM diskinizde 2 farklı bölüm oluşturamaz ve her mac için farklı bir bölüm seçemez misiniz?
Pierre Watelet

Yanıtlar:


235

Sudo'ya dikkat edin ve aşağıdaki komutu geri alma ya da onaylamadığınızdan, doğru Mac'in dosyalarını seçtiğinizden emin olun:

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

Sudo komutu şifrenize ihtiyaç duyar (ve ekrana yankılanmaz, bu yüzden sadece yazın ve enter tuşuna basmadan önce doğru dosyalarla çıktığınızdan emin olmak için duraklatın). Daha güvenli olmak istiyorsanız, komutun istenen şekilde çalıştığından emin olmak için önce silmek üzere bir anlık görüntü seçebilirsiniz. Bu daha iyidir, çünkü bazı daha büyük yedek kümelerini temizlemek saatler alabilirdi ve Mac'in doğru bilgi deposunu sildiğinden emin olmak istiyorsanız.

tmutilYedekleri birer birer silmek için aracı kullanabilirsiniz .

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

Yana tmutilLion ile tanıtıldı, bu daha önceki işletim sistemi sürümlerinde çalışmaz.

Geçerli yedek dizini almak istiyorsanız (tanımlanmış birden fazla hedef olabilir ve yalnızca biri "geçerli" olabilir)

sudo tmutil machinedirectory

4
Bir cazibe gibi çalıştı. Sabit disk değişiklikleri nedeniyle eski ve zamanlayıcı setiyle bağlantısı kesilmiş eski yedeklemelerim vardı. Onları sudo rm ile silemedim (kaçık), ama bu işe yaradı. Teşekkürler!
David Pisoni

2
@drfrogsplat evet, ancak eski yedeklemelerle çalışırken orijinal macun ölmüş olması yaygındır. Benim durumumda yedek diskimde yer açmaya çalışıyorum, böylece onu yeni bir mac yedeklemek için kullanabilirim.
Abhi Beckert

5
@square_eyes Sabit bağlantılı dosyaların silinmesi bu şekilde olmaz. Diyelim ki aynı dosyayla 100 aralık var. Dosya bir kez diskte bulunur, ancak bağlantı sayısı 100'dür. Birini sildiğinizde, bu dizin girişi sildiğiniz yere gider ve bağlantı sayısı şimdi 99'dur. Yalnızca bağlantı sayısı 0'a gittiğinde dosyanın kendisi silinir. Diğer tüm siler sadece bir dizin girdisini kaldırır.
bmike

5
Yedekleri birer birer silmenize gerek yoktur. Sen yazabilirsiniz sudo tmutil delete ve sonra Terminal penceresine silmek istediğiniz tüm yedeklerini sürükleyin. @drfrogsplat man sayfası bu komutun farklı bir makine tarafından oluşturulan yedekleri silebileceğinden bahseder.
pointum,

2
@pointum doğru. Ek olarak, terminalde kalmak istiyorsanız, aşağıdaki gibi joker karakterleri kullanabilirsiniz: 'sudo tmutil delete 2015- *' Özellikle dönen disklerle yavaş bir işlem olabilir, bu nedenle birden fazla dosyayı silmek akıl sağlığı ve verimlilik için önemlidir.
Matt Dressel

81

En kolay yol şudur:

  1. Zaman makinesini girin (yedeklemesini silmek istediğiniz Mac'te)
  2. Silmek istediğiniz noktaya gidin
  3. Bulucudaki çark dişine benzeyen simgeyi seçin ve 'Yedeklemeyi Sil'i seçin (Mavericks'te: Bulucu penceresinde sağ tıklayın ve' Yedeklemeyi Sil'i seçin).

Bu, yedek kataloğun doğru kalmasını sağlar ve verilerinizin bütünlüğü bozulmadan kalır.


3
@drfrogsplat, Apple'ın sağladığı GUI'yi kullanarak bir yedeği silmek için en iyi yol (tüm sürümlerde çalışır) olduğunu ve birden fazla görsel geribildirim (dikkatle bakarsanız) girmeden önce bir kontrol olduğundan, hataya daha az eğilimli olduğunu çok doğru Silme işleminin kalıcı olduğunu bildiğinizden emin olmak için
bmike

1
Cog


1
Kısmi bir silme işlemi yapması dışında (ne sebeple olursa olsun) kısmi yedeklemenin var olduğunu unutur, bu nedenle yalnızca onu silemezsiniztmutil delete
Jeroen Wiert Pluimers

1
"Bekliyor ..." sorunun varsa bu işe yaramaz. apple.stackexchange.com/questions/207787/… Beklemek her zaman işe yaramaz.
Almo

39

İçin Mavericks / Yosemite

  1. Zaman makinesi girin
  2. Yedeklemeyi seç
  3. Yedeği sağ tıklayın (bulma penceresinde)
  4. 'Yedeklemeyi Sil'i seçin

Şifreyi soracak ve bitirdiniz

görüntü tanımını buraya girin


Yedeği sağ tıklayın: nerede?
Brainray

Pencerenin ortasına sağ tıkladığınızda bir bulucu penceresi gösterilecek ve size bir seçenek listesi gösterilecektir
Inder Kumar Rathore

13
O zamana Zaman Makinesi şifreniz silme işlemlerini gerçekleştiren ve olmayacaktır dikkati çekiyor çıkmak Time Machine. Ve silmek için dosya ve klasör seçtikten sonra Time Machine'den çıkma prosedürü de açık değildir: cancelsol alt köşeye tıklamanız gerekir . (Görünüşe göre, "iptal ettiğiniz" şey dosyaların geri yüklenmesidir; bunu yaptığınızda silme işlemleri iptal edilmiş sayılmaz.)
mhucka

3
Bu da benim için başka bir makineden çalıştı. Eski MBP'm kızardı, yeni diskimin farklı sabit disk adları ve bölümleri var. Sonunda TM diskimi doldurdu ve eski makinemin tüm yedeklemelerini silmek istemiyorum. Böylece Option tuşunu basılı tutarken, zaman çubuğundaki menü çubuğuna ve "Diğer yedekleme disklerine gözat" seçeneğine tıklayın. Aynı adı taşıyan bir sürücüye takarak ilk eski yedeklemeye ulaşabildim. Oradan eski sürücü yapısına geçebilir ve bu ipucunu gerçekten eski yedekleri silmek için kullanabilirim.
Mark

Veya kenar çubuğundaki kök cihaz klasörüne tıklayın (eski bölüm ve sürücü yapısının görünmesi için). Benim durumumda "Cihazlar -> Macbook Pro"
Mark

18

Bu komut dosyası, bilgisayarınız için en eski TM yedeklemesini otomatik olarak bulur, hangisinin en eski ve en yeni yedek olduğunu size söyler ve en eski yedeklemeyi silmenizi ister. YSilmek için yönetici şifrenizi girmeli ve girmelisiniz.

bash betiği:

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

Özetle, bu komut dosyası, bilgisayarınız için en eski TM yedeklemesini otomatik olarak bulur, hangisinin en eski ve en yeni yedek olduğunu size söyler ve en eski yedeklemeyi silmenizi ister. YSilmek için yönetici şifrenizi girmeli ve girmelisiniz.
Hengjie

3
Bunun, sparebundle yedekleme dosyalarınızın boyutunu otomatik olarak küçültmeyeceğini unutmayın. İçeri sudo hdiutil compact /path/to/disk-image
Hengjie

14

Bu soruyu kendime soruyorum ve buradaki cevaplar kesinlikle yardımcı oldu. Ancak, bu soruya cevap verilmediğinde var olmayan yeni bir uygulama "detayı" olabilecek bir yönü var.

tmutil deletegerçekten de yedekleri siler, ancak gerçekte aldıkları alanı geri almaz, en azından hiçbir şekilde garanti edilmez. Yaklaşık 2 gün önce> 2 yıl öncesindeki yedekleri silmek için harcadım. Son tamamlama mesajına göre yaklaşık. 400 Gb veri. Serbest yedekleme alanı göstergesinin bir kez karşılık geldiğini gördüm, ancak bir sonraki yedeklemeden sonra tekrar sadece% 7 kullanılabilir alana düştüm (yaklaşık 450 Gb yerine 858 Gb kullanıldı). Bu beni gerçekten şaşırttı.

Bu gizemin cevabı burada verilmiştir: http://blog.hawkimedia.com/2012/08/reclaiming-a-timemachine-volumes-disk-space/ Kısacası, aslında yedeği tutan seyrek paketi sıkıştırmanız gerekir. ağa bağlı bir diskte veya HFS + 'da formatlanmamış bir diskte barındırılıyorsa. Seyrek bir pakette barındırılmayan TM yedeklerine sahip değilim, bu nedenle kullanımının bunlarda tmutil deleteücretsiz olup olmadığını kontrol edemezsiniz . İşe yarayabilir ve bir Time Capsule'de olmadığı gerçeği basitçe seyrek paket protokolünün bir özelliği olabilir. Sonra çalıştırmak için komut sudo tmutil deleteolduğunu sudo hdiutil compact /Volumes/YourTimeMachineDisk/YourBackupName.sparsebundle. Benim durumumda bu rapor

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

İyi haber şu ki, bu komut tmutilin harcadığı zamanın sadece bir kısmını aldı, daha az zaman harcadı ve diskte daha az RAM kullandı.


Artık bir sparebundle olmadan yedekleri siliyorum ve fazladan bir adım atmadan boş alan bırakılıyor.
Almo

12

Time Machine gerçekten yalnızca farklılıkları destekliyorsa, ters sırada silmek istediğinizde değildir. Ayrıca, her silme zaman alabilir, mevcut olan tamamlandığında bir sonrakini silecek bir komut dosyasına sahip olmak güzel olurdu.

User36971'in yukarıdaki örnek komut dosyasını takiben , tüm yedekleri belirtilen ve önceki sürümden silecek bir tane yazdım:

#!/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

Not : Betiğimde bilgisayar adı kontrolünü eklemediğimden, bir yedekleme sürücüsünü birden fazla bilgisayarla paylaşıyorsanız, ek bir kontrol eklemeniz gerekebilir.


1
TM , deltayı yalnızca her çalıştırmada yedekler , ancak yedekleme diskinde çalıştırma başına tam bir kopya tutar. Çalışmalar arasında değiştirilmeyen dosyalar için (bu çoğu anlamına gelir), yalnızca yeni bir dizin girişi eklenir. Bu, çalıştırmalar arasında yalnızca küçük deltalarınız varsa, boş alanda önemli bir artış fark etmeden önce çok fazla yedekleme yapmanız gerekebileceği anlamına gelebilir.
nohillside

2
Yedekleri sildiğiniz sırada hiçbir fark yoktur. Aslında, tmutil deletebelirli bir yıl için tüm yedekleri silmek üzere bir joker kullanırsanız, onları en eskiye doğru yeniler. Ve btw, joker karakter kullanmak, çoğu durumda bir senaryo kullanmaktan çok daha kolaydır :)
mluisbrown

Printf '% s' "$ BACKUPS" ekleyerek daha iyi geri bildirim almak için yedekleri silme satırını eklemenizi öneririm
petr

2
Kullanmadan birden çok yedeği silebilirim, örneğin: sudo tmutil delete 2016-06-12-184217 2016-06-19-080529 2016-06-26-092218
yuxuan

-3

sadece bir terminal aç,

#sudo tmutil disablelocal

Bu, TM yedeklerini silmeden yer açmalı


3
Bu, OP'nin sorduğu şey değil, yerel Time Machine anlık görüntülerini dahili bir sürücüden devre dışı bırakır.
Scot,

2
Evet - bu yalnızca Mac önyükleme birimindeki alanı boşaltır - hedefe değil. Faydalı, ancak farklı bir soru IMO üzerinde olması gerekiyor.
bmike

-3

Eski yedeklememi silmek için yaptığım adım adım işte

  1. Açık Zamanlı Makine Diski
  2. Backups.backupdb klasörünü bulun ve açın
  3. Tarihe göre görüntülemek ve en eski olanı seçmek
  4. Silmek istediğiniz yedeği seçin
  5. Teminal'i açın ve yazın sudo rm -rvf
  6. Terminal Penceresinde silmek istediğiniz eski klasörleri sürükleyip bırakın
  7. Komut isteminde kullanıcı şifrenizi girin

Git bir kahve alın veya bir film izleyin, işlem bittiğinde silmek istemediğiniz bazı klasörler için tekrarlamanız gerekebilir.

Tüm eski klasörleriniz gittiğinde, Time Machine'in veritabanını güncellemesi gerekir. İşte Time Machine'i güncellemeye zorlamanın bir yolu.

  1. Time Machine'e girin ve hala listelenen en eski Backup'a gidin
  2. Seçin ve küçük dişliye tıklayın ve ardından Yedeklemeyi Sil'i seçin
  3. Parolanızı girin ve birkaç dakika bekleyin
  4. Time Machine arayüzünden çıkın ve tekrar geri dönün. Şimdi Time Machine'inizde doğru yedeklemeyi listelemelisiniz.

14
Bunu yapma. Time Machine karmaşık bir bağlantı sistemi kullanıyor. Yedeklerinizi bozabilirsiniz. Bkz. Pondini.org/TM/Home.html
Harv

2
Http://pondini.org/TM/Works.html dosyasını okuduktan sonra, eski yedekleri silmenin sudo rm -rvfTime Machine'i kesmesinin bir nedeni olduğunu görmüyorum . rmKomut öneri komut satırı alternatifi altındaki finder'den silmektir http://pondini.org/TM/12.html
Pro Yedekleme
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.