Bu makaleninrsync
en azından bazı yararlı önerileri vardır :
sorunlar
Kullanmak rsync --sparse works
, ancak gereksiz disk yazma büyük bir montaj neden olur. 50 GB uzunluğunda (kullanılan 1 GB) 10 baytın değiştirilmesi yalnızca bir veya iki bloğun yazılmasına neden olur, bu da 1 GB'ın yazılmasına neden olur. Bu yavaştır ve disklerin uzun ömürlülüğü için iyi değildir.
Kullanmak rsync --inplace
çalışır, ancak seyrek olmayan dosyalar oluşturur.
--Sparse ve --inplace'i aynı anda kullanamazsınız :-( rsync tarafından izin verilmez. Rsync: --sparse --inplace ile kullanılamaz
Çözüm
Önceden var olan bir seyrek dosyayı güncellemek için --inplace komutunu kullanırsanız, dosya seyrek kalır ve yalnızca az sayıda blok yazılır. Sadece rsync --inplace, dosyayı seyrek yapmadığı bir dosya oluşturduğunda.
Dolayısıyla çözüm, kaynak makinedeki her dosya için hedef makinede karşılık gelen, doğru uzunlukta, boş, seyrek bir dosya oluşturmaktır - dosya henüz hedef makinede yoksa.
Daha sonra rsync --inplace, seyrek dosyaları seyrek bırakarak ve yalnızca değiştirilen blokları diske yazarak amaçlandığı gibi çalışacaktır.
Bunu doğru okursam, önce hedef üzerinde boş bir seyrek dosya oluşturmak istersiniz. Bunu ile yapabilirsiniz
truncate -s 3G filename
Daha sonra rsync --inplace
dosyaları üzerine kopyalamak için kullanabilirsiniz . Bu sadece bir kez gerekli olmalıdır.
Aynı makalede kullanarak önerir Virtsync olan
büyük dosyaların (sanal makine diski görüntüleri ve veritabanları gibi) içeriklerini senkronize etmek için 49 dolarlık bir ticari Linux komut satırı aracı.
Bu tür bir durum için özel olarak yazılmış gibi göründüğü için bunun için ödeme yapmak istiyorsanız, bu en iyi çözüm olabilir.