Mevcut Time Machine Backup'ı otomatik olarak sabit bir boyuta küçültme


11

Bu sorun için bir çözüm bulmak için saatlerce çalıştım, ancak sorunum için uygun bir cevap bulamadım.

Kurulumum:

  • ~ 1 TB Sabit Sürücülü iMac'im var
  • Time Machine ile ~ 2.7 TB Uzaylı bir Synology NAS DS214 + 'a yedekliyorum

Benim sorunum:

  • Yedek kullanıcı için bir boyut sınırı ayarlamayı unuttum. Time Machine Backup'ım yaklaşık 2.3 TB alan kullanmıyor. Güzel değil.
  • Synology kullanıcısına kota ayarlayamıyorum, çünkü sıfırdan başlayarak saymaya başlıyor.

Yapmak istediğim şey:

  • Mümkünse, Time Machine Backup'a en eski yedeklemeleri silerek otomatik olarak ~ 1.5 TB sınırına küçülmesini söylemek istiyorum.
  • Sonra seyrek demetin artık büyümemesini istiyorum.

Biriniz bir çözüm görüyor mu? Yoksa hedefime ulaşmak için tüm eski yedeklerimi silmek zorunda mıyım ?


Sadece FYI: Synology NAS'ımdaki OS X Yosemite 10.10.3 ve mevcut ürün yazılımını kullanıyorum.
michael

Yanıtlar:


3

Time Machine bir boyut belirlemesine saygı gösterecektir - ancak sadece kabı yaptığınızda . Bu işlevsellik, Apple'ın yerel yedekleme için sağladığı tek şeydir, bu nedenle istediğinizi yapmak için özel bir kuruluma ihtiyacınız olacaktır ve bir kapsayıcıya yedeklemeye başladıktan sonra işleri sınırlandıramazsınız.

Yeni bir kısıtlı kapsayıcı yapmak istiyorsanız, kavramın haritasını çıkarmak zor değildir.

  • synology üzerinde yeni bir kapsayıcı oluşturun ve işleme başladığınızda boyut kısıtlamalarını uyguladığınızdan emin olun.

Server.app bunu kolayca yapar - bu özelliği tersine çeviren synology kodunun farkında değilim, ancak GitHub'da yoksa veya halka açık bir yerde yayınlanmışsa şaşırır.

Bu noktada, büyük olan tüm kullanıcı klasörlerinin yedeklerini silebilir ve daha sonra eski yedekleme verilerini yeni hedefe engelleyerek engelleyebilir ve ardından yedeklemeyi devralabilirsiniz.

Ayrıca komut satırından yedekleme aralıklarını inceltebilir veya bu otomasyonu da yazabilirsiniz.

Çok fazla iş var, ama birisi eğimli ise bir proje olarak buna değer olabilir.

Ayakkabılarınızdayken, eski "çok büyük" yedeklemeyi çevrimdışı bir sabit sürücüye kopyalayıp rafa koydum ve istediğiniz boyutta yeni yedeklemelerle başlıyorum. 6 ay veya bir yıl içinde - eski tarihe gerçekten ihtiyacınız olduğunu hissetmedikçe eski sürücüyü silin.


Ne yaptığım: Yeni bir Time Machine Backup ile başladım. Yine de cevap verdiğiniz için teşekkürler!
michael

TimeMachine, seyrek olarak bir Maksize ayarlamak için bir ayara sahiptir, ancak benim deneyimime göre bu sadece yeni seyrekler için çalışır, mevcut olanlar için geçerli değildir. Sorununa tek çözüm eski yedekleri silmek ve benim çözümüm bunu yapmanın en iyi yoludur.
Robert Barrueco

Katılıyorum - cesur olmalıyım ama sadece konteyner yaptığınızda veya daha net olacak şekilde değiştirirseniz @RobertBarrueco
bmike

İçinde boş alan varsa "Disk Yardımcı Programı" nın Time Machine kapsayıcısını yeniden boyutlandırabildiğini gördüm, bu da Time Machine'in sınır olarak yeni, daha küçük kap boyutunu kullanmasına neden oldu. Bu benim Zaman Kapsülümdü. Benim tahminim ilk konteyner o zaman kullanılabilir boş alan inşa edilmiştir.
Thorbjørn Ravn Andersen

2

Bu OSX Terminali kullanan en kolay çözümdür.

TimeMachine içindeki tüm yedeklerin bir listesini alın. Bu aynı zamanda 2. adımda ihtiyacınız olacak yedeklemelerin tam dizin yolunu gösterecektir ...

$ tmutil listbackups

/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-02-213405
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-09-192323
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-19-212659

Tarihlerine göre silinecek yedeklemeleri seçin. Joker karakterin * ve 1. adımdaki dizinin kullanımına dikkat edin. Örneğin, 2018'in tüm yedeklerini silmek için bunu kullanırsınız:

$ sudo tmutil delete '/ Birimler / Zaman Makinesi Yedeklemeleri / Backups.backupdb / {macbook'unuz} / 2018 -' *

Son adım, seyrek demetten alanı küçültmek ve kurtarmaktır. Yedek sürücünüzde .sparsebundle dosyasını arayın.

$ sudo hdiutil compact '/Volumes/{your-mac {.sparsebundle'


Bu, OP'nin istediği şekilde yedeklemeyi otomatik olarak belirli bir boyuta nasıl küçültür?
nohillside

0

Yedekleme birimini istenen boyuta küçültün. Time Machine, birim dolana kadar yedekleme eklemeye devam edecek şekilde tasarlanmıştır, daha sonra eski kopyaları budanır. Depolama alanını başka şeylerle paylaşmak veya hedefte X gigabayt boş bırakmak için tasarlanmamıştır.


5
Sesi küçültemiyorum, çünkü zaten istenenden daha fazla yer kaplıyor. Bu benim sorunum.
michael

1
hacmi nasıl küçültebilirsiniz?
jmh

0

Daha önce verilen yanıta katılıyorum, ancak deneyebileceğiniz şey Time Machine yedeklemelerini manuel olarak silmek (kendi sorumluluğunuzdadır).

Birimi bağlarsanız, "Backups.backupdb" adlı bir klasör vardır (uzak yedeklemelerde biraz farklı görünebilir). İçinde bilgisayar adınız ve sonra tarihler veya hacimler veya tam tersi olacaktır (üzgünüm, şu anda kendi Mac'imden uzaktayım ve kesin siparişi kontrol edemiyorum).

Daha önceki bazı tarih klasörlerini kaldırırsanız, birimi yeniden boyutlandırmak için yer açmış olursunuz.

NOT: Time Machine'in, değiştirilmemiş dosyalar için hardlink kullanan artımlı bir yedekleme olduğunu unutmayın. Bu nedenle, bir tarih klasörünü kaldırmak, boyutlandırılacağı belirtilen alan miktarını kaldırmayabilir.


2
Bu site kullanarak yedeklerinizi silmek istiyor sudo tmutil delete.
Harvey

Time Machine değişmemiş dosyaları hardlink ile paylaşır. Bir yedeklemenin tamamını silerseniz, diğer yedeklemeler tarafından kullanılan dosyalar silinmez, yalnızca bağlantılar silinir.
WGroleau

0
momomo.com.apple.timemachine.backups.list() {
        tmutil listbackups
}
momomo.com.apple.timemachine.backups.compact() {
        local leave="${1}";

        if [[ "${leave}" == "" ]]; then leave="5"; fi

        local backups=(
                $(momomo.com.apple.timemachine.backups.list)
        )

        local length="${#backups[@]}"
        local     to="(("${length}"-"${leave}"))"

        local i=0; while [[ "${i}" -lt "${to}"  ]]; do
                local backup="${backups[i]}"

                sudo tmutil delete "${backup}"

                echo -e "\n\n"

                ((++i))
        done   
}

Misal:

# To leave last 10 on disk and remove all previous before
momomo.com.apple.timemachine.backups.compact 10 

Tekrar tekrar çağrılabilir.

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Deleted (4.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Total deleted: 4.6G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Deleted (5.1G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Total deleted: 5.1G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Deleted (6.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Total deleted: 6.6G

    Deleting backup: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-11-002303
    ...
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.