RSYNC artımlı Yedeklemeleri nasıl yapar?


14

rsyncHangi dosyaların değiştirildiğini, hangilerinin değiştirilmediğini nasıl bilebilir? Verilerini dosyanın herhangi bir yerine kaydediyor mu?

Çünkü artımlı yedeklemeler yapmak istiyorum, ancak önce tüm dosyaları aktaracak.

Benim asıl sorum şudur: ilk dosyaları FTP ile yüklüyorum ama tarafından değil rsync. Will rsynchala o mevcut dosyaları atlar veya ilk çalıştırmada şeyi yüklenecek.

Yanıtlar:


12

Rsync, neye bakacağını ve hedefe neyin kopyalanacağını kontrol eden bir dizi bayrağa sahiptir. Çoğu zaman "Arşiv" bayrağı olan "-a" bayrağı kullanılır, büyük olasılıkla istediğiniz budur. rsync'i "-av" bayraklarıyla çalıştırın ve yedeklenmesini istediğiniz verilere karşı ilk çalıştırmasını sağlayın. Bir sonraki çalıştırıldığında, dosyanın blok sağlama toplamını yapar ve yalnızca mevcut dosyalarda değiştirilmiş parçaların üzerine kopyalar, yeni dosyaları kopyalar ve artık orada olmayan dosyaları kaldırır. Şu konudaki "-a" seçenekler bölümünü kontrol edin:

http://linux.die.net/man/1/rsync

İlk çalıştırma BandWidth yoğun olacak, aşağıdaki çalıştırmalar büyük olasılıkla işlemci yoğun olacak, ancak ilk çalıştırmadan daha az Bant Genişliği kullanacak. Veri kümenizde çok fazla karmaşa yoksa.

Rsync, kaynaktaki veya hedef dizinlerdeki dosyaları nasıl aldığınız umurumda değil, farklı bir şey yapmak için bayrak eklemediğiniz sürece, yalnızca ikisi arasındaki değişiklikleri kopyalayacaktır.

Nelerin değiştiğini günlüğe kaydetmek istiyorsanız "--log-file" seçeneğini kullanabilirsiniz. Tüm bunlar gibi bir şey istediğiniz gibi geliyor:

rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups

9

rsync 'artımlı' yapmaz, daha çok 'diferansiyel' gibidir. o aktarmaz değişiklikleri (bir önceki seferden hakkında bazı bilgilere varsayıyorum), bu aktarır farklılıkları (hedef dosyaları ile kaynağını karşılaştırarak)

sürecin basitleştirilmesi:

  • önce dosya boyutunu, oluşturma / değiştirme tarihlerini, bayrakları kontrol eder ... hepsi aynıysa, dosyayı atlayın.
  • hedefte bu ada sahip bir dosya yoksa, tüm dosyayı kopyalar.
  • hedefte bir dosya varsa, dosyanın her 2 KB'si için sağlama toplamlarını hesaplar ve gönderene aktarır.
  • gönderen, kaynak dosyanın içeriğini karşılaştırır ve hedefle karşılaştırır ve önceden var olmayan tüm verileri, eşleşen tüm verilere referanslarla birlikte aktarır. bununla birlikte, hedef, eski hedefin parçalarını ve yeni blokları kullanarak tüm dosyayı yeniden oluşturabilir.

5

rsync herhangi bir veri kaydetmez, dosya değişiklik zaman damgalarını ve ardından içeriği kontrol eder. ilk önce ftp ile yüklerseniz sorun olmaz - rsync tüm verileri yeniden iletmez ancak muhtemelen tüm içeriği gözden geçirir ve zaman damgalarını düzeltir. ama yine de büyük bir transfer olmayacak.


5

Belki bilgiçim ama artımlı yedeklemeler, önce tam bir yedeğiniz olduğu anlamına gelir. Daha sonra bu yedeklemeden bu yana değişen dosyaların yedeğini alırsınız. Sonra bir öncekinden beri yedekleri başka bir yedek var, vb. Yani tam yedekleme ve o zamandan beri tüm artımlı yedekler gerekir.

Bu nedenle, sadece arşiv modunu kullanmak artımlı bir yedekleme değildir . Farkın önemli olduğunu düşünüyorum, çünkü dosyaları değiştirmeden önce geri almak için geri dönemezsiniz .

Gerçek bir artımlı yedekleme yapmak istiyorsanız, gibi seçenekleri kullanırsınız --backup-dir. Burada bir örnek var .


1
Artımlı yedeklemeler ve yansıtma arasındaki fark için +1 (rsync'in varsayılan olarak yaptığı şeydir).
sleske

Ah evet! Yansıtma, kavradığım kelimeydi, iyi çağrı :-)
Kyle Brandt

0

Asıl soru "rsync üzerinden artımlı yedeklemeler yapmak istiyorum" ise, birkaç seçenek vardır. Dirvish kullanıyorum:

http://www.dirvish.org/

Anlık görüntüler sağladığından geri yükleme kolaydır: bir dosyanın özdeş olduğu yerden tasarruf ederken size tam anlık görüntüler vermek için sabit bağlantılar kullanır. Dahili olarak, rsync'in --link-dest seçeneğini kullanır:

--link-dest=DIR         hardlink to files in DIR when unchanged

Rsync kullandığından, değişikliklerin çok küçük olduğu ağ bant genişliğinden (ve dolayısıyla zamandan da) tasarruf sağlar. Ayrıca , çok sayıda dosya ve yavaş bir bağlantınız varsa, önce yerel olarak oluşturulmuş bir kireç görüntüsünü tar ve sneakernet yaparsanız da çalışır .

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.