Tüm Snapper anlık görüntülerini temizle


17

OpenSUSE (diğer dağıtımların yanı sıra) btrfs bölümlerinin anlık görüntülerini almak için snapper kullanır . Bazı insanlar, varsayılan anlık görüntü aralıklarının çok hızlı bir şekilde çok fazla yer kapladığını düşünür, ancak inansanız da inanmasanız da, dosya sisteminizde alanı temizlemek istediğinizde zamanlar vardır ve genellikle btrfs anlık görüntülerinin önemli miktarda yer kapladığını görürsünüz . Veya, diğer durumlarda, bir VM'ye / VM'den taşımadan veya depolama ortamını veya bu satırlardaki bir şeyi değiştirmeden önce tüm fazla verilerin dosya sistemini temizlemek isteyebilirsiniz.

Ancak, snapper'ın aldığı tüm anlık görüntüleri snapper veya başka bir araçla hızlı bir şekilde silmek için bir komut bulamıyorum . Bunu nasıl yaparım?

Yanıtlar:


25

Snapper'ın son sürümlerindeki komut (ne zaman tanıtıldığını hatırlamıyorum, ancak örneğin, openSUSE 13.2'deki sürüm bunu destekliyor):

snapper delete number1-number2

Bu nedenle, tüm anlık görüntüleri silmek için (100.000'den fazla olmadığınızı varsayarsak) şunları yaparsınız:

snapper delete 1-100000

Açıkçası bu yalnızca varsayılan kök yapılandırmadaki anlık görüntüleri siler, bu nedenle farklı bir yapılandırma için şöyle olur:

snapper -c configname delete number1-number2

Şimdi bir hata alıyorum: Anlık görüntü '100000' bulunamadı.
Pavel Šimerda

ty, ty, ty. dikkat, aralık operatörü işe yaramadı, ben tüm 20 anlık görüntüleri silmek zorunda kaldı.
Paul Vixie

4

forBir aralıktaki tüm anlık görüntüleri silmek için bir döngü kullanabilirsiniz ( kök olarak çalıştır ).

# for i in `seq 1 999`; do snapper delete $i; done

Bu, bazı geçersiz girişleri (sayı bir anlık görüntü kimliğine karşılık gelmediğinde) vurur ve zararsız bir hata günlüğüne neden olur.

Anlık görüntü kimliklerinin aralığını (alt ve üst sınır) belirlemek için, döngü gereksiz yere uzun süre çalışmayacak şekilde şunu kullanın:

snapper list

Bu çözümü , snapper aralığının ve tutma ayarlarının nasıl azaltılacağı hakkında bir tartışma ile birlikte buldum .


-1

Debian jessie gibi daha eski bir snapper sürümü üzerinde çalışıyorsanız, bash-expand komutunu kullanabilirsiniz:

snapper delete {1..999}
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.