Normalde, rsync
dosyalar kaynak ve hedef taraflarında aynı boyutlarda ve zamanlarda olduğunda dosyaları atlar. Bu, rsync
kaynak ve hedef tarafta büyük olasılıkla aynı olan dosyaların içeriğini incelemekten kaçınmasını engellediği için, genellikle iyi bir fikir olan bir sezgiseldir .
--ignore-times
rsync
dosya zamanları ve boyutları buluşsal yöntemini kapatmayı ve böylece TÜM dosyaları kaynaktan hedefe koşulsuz olarak aktarmayı bildirir . rsync
kaynak tarafındaki her dosyayı okumaya devam edecektir, çünkü --whole-file
seçeneğin belirtilip belirtilmediğine bağlı olarak, delta-transfer algoritmasını kullanması veya her dosyayı tamamen göndermesi gerekecektir .
--checksum
Ayrıca, dosya zamanları ve boyutları sezgisel olarak değiştirir, ancak burada zamanları yok sayar ve yalnızca boyutları inceler. Kaynak ve hedef taraflarındaki boyut olarak farklı olan dosyalar, açıkça farklı olduklarından aktarılır. Aynı boydaki dosyalar kontrol toplamı ( rsync
3.0.0+ sürümündeki MD5 veya önceki sürümlerdeki MD4 ile) ve farklı toplamlara sahip oldukları tespit edilir.
Kaynak ve hedef tarafların çoğunlukla aynı olduğu durumlarda --checksum
, çoğu dosyanın her iki tarafta da kontrol edilmesiyle sonuçlanacaktır. Bu uzun zaman alabilir, ancak sonuçta ortaya çıkan en net veri, özellikle delta-transfer algoritması kullanılıyorsa, en azından verilerin kablo üzerinden aktarılacağıdır. Tabii ki, bu yalnızca çok yavaş ağlara ve / veya çok hızlı bir CPU'ya sahipseniz kazanır.
--ignore-times
Öte yandan, ağ üzerinden daha fazla veri gönderir ve tüm kaynak dosyalarının okunmasına neden olur, ancak en azından kaynak ve hedef CPU'lara şifreleme açısından güçlü birçok hastayı hesaplamanın ek yükünü getirmez. Bu seçeneğin --checksum
, ağlarınızın hızlı olduğu ve / veya CPU'nuzun nispeten yavaş olduğu zamanlardan daha iyi performans göstermesini beklerdim .
Sanırım sadece kullanacağımı --checksum
ya da --ignore-times
bazı dosyaların içeriğinin bozulduğundan şüphelenildiği ancak değişiklik zamanları değiştirilmediğinden şüphelenilen bir yere dosya aktarıyor olsaydım. Her iki seçeneği de kullanmak için başka iyi bir neden düşünemiyorum, muhtemelen başka kullanım senaryoları da var.
--checksum
birlikte faydalı buldum--itemize-changes
. Her gün ve tekrar yedekleme komut dosyalarım geçerli günlük / haftalık güncellemeler tamamlandıktan sonra bu şekilde tam bir karşılaştırma yapar.--itemize-changes
Beklenmedik bir şey çıktılarsa acil olarak işaretlenmiş bir e-postayı bıraktım, bu yüzden dikkat etmem gereken potansiyel bir sorun olduğunu biliyorum.