Mevcut hedef simgelerini rsync ile koruma


10

Yerel bir debian deposunu güncel tutmak için rsync (1) kullanıyorum . Son zamanlarda, depolamak için kullandığım disk alanı azalmaya başladı, bu yüzden bazı dizinleri benzer boyuttaki bir diske taşımama izin vermek için simgeleri kullanmaya karar verdim.

Ne yazık ki, rsync sembol bağlantılarını siliyor ve neredeyse tam diski yeniden dolduruyor gibi görünüyor. Biraz arama yaptıktan sonra, --keep-dirlinkssorunumu düzeltmek için özel yapılmış gibi görünen rsync seçeneğini keşfettim .

Sadece öyle değil. Hedefteki semboller hala siliniyor.
İşte benim rsync komutu:

rsync --recursive --keep-dirlinks --links --hard-links --times --verbose \
 --delete --delete-excluded $EXCLUDE $SOURCE_EXCLUDE \
 $RSYNC_HOST::$RSYNC_DIR/pool/ $TO/pool/

EXCLUDE'lar, ilgimi çekmediğim çok sayıda mimariyi ortadan kaldırmak için genişliyor --exclude binary-alpha/ --exclude disks-alpha .... Rsync başlatılmadan önce, havuz dizinim şöyle görünür:

lrwxrwxrwx  1 root root   23 2014-09-22 13:58 contrib -> /u2/debian/pool/contrib
drwxrwxr-x 62 root root 4096 2012-04-09 03:02 main
lrwxrwxrwx  1 root root   24 2014-09-22 13:58 non-free -> /u2/debian/pool/non-free

Bir kez rsync başladı, ben bunu elde:

receiving incremental file list
deleting non-free
deleting contrib
./
contrib/
contrib/a/

Ve böylece, semboller dosyalarla dolu dizinlerle değiştirilir.

Diğer rsync seçeneklerinden bazıları karışıyor --keep-dirlinksmu? Hangilerini birleştiremiyorum? Yoksa sorunuma neden olan seçeneklerin sırası mı?

Yanıtlar:


7

--deleteVe --delete-excludedseçenekleri onlar Sembolik bağ kaynağına orada olmadığını fark olarak, planınıza engel ve böylece silin.

Bu, yalnızca rsynctüm dizini source/ targetgösterimle (kaynaktan sonra gelen eğik çizgi) kopyalamanızı söylediğinizde olur . Eğer kullanırsanız source/* targetyerine, kabuk dosya ve kopyalamak için dizinleri listesini genişletmek ve bu olmayacak (ancak deneyin --dry-runilk).

Bununla birlikte, bu kırılgan kurulum yerine, iki diski LVM'nin yardımıyla bu tür bir hile gerektirmeyen büyük bir hacim oluşturmak için birleştirmenizi tavsiye ederim.


Teşekkürler! Senaryoyu değiştirdim ve çalışıyor gibi görünüyor. Bu bana biraz zaman kazandıracak - disk hala doldurma eğiliminde olacak, ama bir şeyleri değiştirmek için zamanım var. İkisini LVM ile birleştirmek konusunda haklısınız. Bunu zaten düşünmüştüm, ama ayaklarımı sürükleyerek bir şeyleri hareket ettirip sonra tekrar hareket ettirmek anlamına geliyor. Ama sanırım geçten daha iyi.
unkilbeeg

Ben kullandığım -a seçeneği olmadan --keep-dirlinks kullanarak çözüldü benzer bir sorun vardı. Üçüncü paragrafta olduğu gibi "küçük" sıkıntı, kullandığım dosya sistemleri 64 T bayt SAN "diskleridir." 256 terabayt diskler gibi katların daha da büyük bir şekilde birleştirilmesi mümkün olsa da, yönetici insanların sahip olduğumuz boyutlar için nedenleri olmasını bekliyorum. Bazen "aldatıcı" gibi görünen şey sadece sahip olduklarınızla nasıl yaşayacağınız üzerinde çalışmaktır.
user1683793

Nihai çözümüm yeni donanımdı. Orijinal makine sadece IDE sürücülerini destekleyecek kadar eskiydi ve o günlerde alabileceğiniz en büyük sürücü 512G idi.
unkilbeeg
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.