Bir dizini yedeklemek için 7-zip kullanmak istiyorum, ancak ".svn" adlı tüm dizinleri (kaynak ağacın herhangi bir yerinde) hariç tutmasını istiyorum. Bunun mümkün olup olmadığını bilen var mı ve bu durumda nasıl?
Bir dizini yedeklemek için 7-zip kullanmak istiyorum, ancak ".svn" adlı tüm dizinleri (kaynak ağacın herhangi bir yerinde) hariç tutmasını istiyorum. Bunun mümkün olup olmadığını bilen var mı ve bu durumda nasıl?
Yanıtlar:
Tüm .svn dizinlerini dışlamak için, -xr!?svn\*
anahtarı eklemeniz gerekir.
Örneğin, aşağıdakiler, uygun C:\Project\To\Backup
klasörleri hariç tutarak dizinin bir yedeğini oluşturur ?svn
:
"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.zip C:\Project\To\Backup\*
?
"period-svn" ( .svn
) ile eşleşeceğini , bu nedenle kullanacağınız klasördeki her şeyi atlamak için SkipMe
kullanacağınızı unutmayın-xr!SkipMe\*
.Svn (veya potansiyel olarak _svn) klasörlerini dışlamak için 7-Zip kullanmak yerine , çalışma kopyasını geçici bir klasöre vermek için svn export komutunu (SlikSVN'den svn.exe kullanın ) kullanmanızı öneririm :
svn export C:\Path\To\WC C:\Backup\Staging
Sonra 7-Zip'i aşağıdaki gibi kullanın:
7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r
Sonra hazırlama klasörünü silin.
Yerel çalışma kopyalarımı yedeklemek için yaptığım şey bu.
Bir dosya veya dizin listesini kullanarak 7zipli dosyaları dışlayabilirsiniz:
/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \
'-xr@\path\to\backup_daily_exclude.lst'
Dışlama dosyası şuna benzer:
home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn
Anahtar -xr ve özellikle "r", dışlama listesinin dizinin her düzeyine tekrarlı olarak uygulandığını belirtir. Biri mutlak, biri özyinelemeli dışlamalar için bir tane dosya hariç tutma listesi kullanmak isteyebilirsiniz. Yukarıdaki, cygwin'de çalışan bir bash betiğindendir.
Ne zaman kullandım
"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\*
İstemediğim .git dizini ekleyerek sona erdi.
"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\*
istenen sonucu aldım.
Ne zaman kullandım
7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\*
WEB-INF dizini hariç tutulmadı. Diz adından önce yıldız işareti ekleme
7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\*
İstenilen sonucu aldım.