Neden her zaman rsync kullanmıyorsunuz?


17

Sormak istedim, rsyncher şey için kullanmamanız ve terk etmemeniz için bir neden var cpmı?
Farkında rsyncdeğildim ve şimdi neden cphiç ihtiyaç duyulduğunu bilmiyorum .


9
rsyncher yerde mevcut değil cp.
Mat

3
Hangi kurulum? Linux? Hangisi? Unix? Aynen. BSD? Varsayılan olarak ne geldiğini asla bilemezsiniz.
terdon

5
Gerçekten Linux için "varsayılan kurulum" yoktur. Her dağıtımın çekirdek paketleri ve bunlarda bir dizi varyasyonu vardır. Ayrıca çok sayıda sistem üzerinde çalışmanız gerektiğinde, her yerde mevcut araçları kullanmak işleri kolaylaştırır.
Mat

4
@Mat: Varsayılan (veya çekirdek) kadar Linux dağıtımlar uygun olarak montaj tabanına ile GNU kullanım alanı, (işleyişini ve tanımlar) gerektirir POSIX'e ile vardır cpancak rsync: pubs.opengroup.org/onlinepubs/007904875 /utilities/contents.htm
goldilocks

1
Debian GNU / Linux'un rsync'i varsayılan olarak yüklediğinden eminim. Ancak kurulum ve kurtarma ortamında mevcut değildir . (Bugünkü kök bölümümün içeriğini bir diskten diğerine aktarmak için kullandım. 7.1.0 amd64 kurulum DVD'sini kullandım.)
CVn

Yanıtlar:


24

Kesinlikle evet, her zaman kullanabilirsiniz rsync. Kimden man rsync(vurgu mayın):

Rsync hızlı ve olağanüstü çok yönlü bir dosya kopyalama aracıdır. Yerel olarak, herhangi bir uzak kabuk üzerindeki başka bir ana makineye / bilgisayardan veya uzak bir rsync arka plan programına / bilgisayardan kopyalanabilir. Davranışının her yönünü kontrol eden ve
kopyalanacak dosya kümesinin çok esnek özelliklerine izin veren çok sayıda seçenek sunar . Yalnızca kaynak dosyalar ile hedefteki mevcut dosyalar arasındaki farkları göndererek ağ üzerinden gönderilen veri miktarını azaltan delta-transfer algoritması ile ünlüdür. Rsync, yedekleme ve yansıtma için ve günlük kullanım için geliştirilmiş bir kopyalama komutu olarak yaygın olarak kullanılır.

Şimdi, bazen sadece bir sinek öldürmek için bir tank kullanmak için bu ekstra karakterleri yazmaya değmez. Ayrıca, rsyncgenellikle varsayılan olarak yüklü değildir , bu yüzden cpolması güzel.


Varsayılan yüklemenin bir parçası olarak değil, ayrı bir indirme olarak mı kullanılabilir?
Jim

1
@ Evet, bazen rsyncbulduğunuz sisteme bağlı olarak kendinizi kurmanız gerekir . Eğer rooterişiminiz yoksa bu zor olabilir. cpPOSIX ve her zaman orada olacak .
terdon

9
cpGNU coreutils'in bir parçasıdır, bu yüzden her Linux sistemine her zaman kurulur rsync.
Martin von Wittich

1
sometimes it is just not worth typing those few extra characters- Bunun pcpiçin takma ad attım ("ilerleme kopyası" için);)
Izkata

19

Rsync cpbazı durumlarda daha yavaş olabilir . Örneğin, hedef var olduğunda ve rsync her blok için bazı pahalı karşılaştırmalar yaptığında, eşit bloklar bulamaz ve yine de tüm kaynak dosyayı kopyalar.

Ayrıca hedef dosyalar mevcut olmadığında, rsync cp'nin üzerinde herhangi bir avantaj sağlamaz.


1
Altında, rsync'in kopyalama yöntemi önemli ölçüde daha yavaştır. Bkz. Unix.stackexchange.com/questions/374071/… . Bir cp türü (bu yazıdan itibaren), basit bir 32KB okuma / 32 KB yazma işlem sırasını gösterir. Bu arada Rsync, sokete bir okuma / 4092 bayt + 4 baytlık yazma / soketten okuma / 250KB dosyaya yazma yapar. 130MB / s işlem hacminde 36T karışık boyutlu dosyaların rsync yapıyorum. Bunu cp -a ile üçe katlayabilirim. rsync, zaten benzer olan dizinlerde "bu" gibi "yapmak" istediğinizde söylediğiniz gibi kazanır.
Mike S


4

Bu cpbayrak rsync'de eksik olduğu için:

-i, --interactive
       prompt before overwrite (overrides a previous -n option)

Hayır, -nrsync'de (kuru çalışma) olmasına rağmen, bu özelliğin yerine geçebilir.
Niloct
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.