Öncelikle, rsync'in include / exclude sözdizimini biraz okumalısınız. Yapmak istediğiniz şeyin **
globları globlardan daha iyi yapmak olduğunu hissediyorum *
. ( **
herhangi bir sayıda girişe *
genişlerken, yalnızca birden çok dizin girişiyle eşleşen tek bir girişe genişler . Ayrıntılar, Desen Kurallarını Ekle / Hariç Tutman rsync
altındadır .)
Bununla birlikte, sistemi en az güçlükle yedeklemeden bilinen bir çalışma durumuna geri yükleyebilmek istiyorsanız, dosyaları veya dizinleri hariç tutmaya dikkat etmelisiniz. Kendimi rsnapshot kullanıyorum ve aslında tam tersi bir yaklaşım benimsedi: dikkatlice seçilmiş birkaç dizin dışında her şeyi dahil.
Yani benim rsnapshot.conf aslında (rsnapshot yapılandırma dosyası ayrıştırıcı mutlu etmek için sekmeleri ile):
interval backup NNN # pick your poison
one_fs 0
exclude /backup/**
exclude /dev/**
exclude /proc/**
exclude /run/**
exclude /sys/**
exclude /tmp/**
backup / ./
ve çok az şey. Evet, kesinlikle ihtiyaç duyulandan biraz daha fazla kopyalayabileceğim anlamına geliyor, ancak ephermal olarak tasarlanmamış herhangi bir şeyin kopyalanmasını sağlıyor. Rsync'in hardlink-tekilleştirme davranışı kullanan rsnapshot nedeniyle, bunun tek gerçek maliyeti ilk çalıştırma sırasındadır; bundan sonra, makul boyutta (toplam veri kümesi boyutunuzla karşılaştırıldığında) yedek hedef konumunuz olduğunu varsayarsak, zaman veya disk alanında çok az ekstra zaman alır. Yedekleme hedef dosya sistemini bağladığım yer olduğu için / backup içeriğini hariç tutuyorum; bunu hariç tutmak, yedeklemenin kendisine kopyalanması durumuna yol açacaktır. Ancak, çıplak metale geri dönmem gerekirse basitlik için, montaj noktasını korumak istiyorum!
Benim durumumda da makul bir şekilde kullanamam one_fs 1
; ZFS'yi şu anda ~ 40 dosya sistemiyle çalıştırıyorum. Tüm bunları açıkça listelemek bir bakım kabusu olacak ve ZFS dosya sistemleriyle çalışmayı olması gerekenden çok daha karmaşık hale getirecektir.
Yukarıda ve ötesinde hariç tutmak istediğiniz hemen hemen her şey, yine de dağılıma bağlı olacaktır, bu yüzden genel bir cevap vermek neredeyse imkansızdır. Bununla birlikte, / var altında bazı adaylar bulabileceğinizi söyledi.
exclude /somepath/*
bu durumda gayet iyi;/somepath/
beklendiği gibi içerdiği her şeyi hariç tutar . İhtiyacınız yok**
çünkü içerideki her şey/somepath/
zaten hariç tutulduğunda daha derin görünmeye gerek yok .