Büyük bir kaynağın kopyasını iki hedefe ayırmak için rsync nasıl kullanılır?


4

3 sürücüm var. Bunun için sırasıyla A, B ve C olarak adlandıracağız.

A 2 TB'dir

B 1 TB'dir

C 500 GB'dir

Çoktan kaçtım

rsync -avz -progress A B

Şimdi B dolu ve B ile ilgili olmayanları A'dan C'ye taşımak / kopyalamak istiyorum.

Zaten yeniden biçimlendireceğim için A'da olanlara ne olduğu gerçekten önemli değil.


Taşımak mı istiyorsun, kopyalamak mı istiyorsun?
Flimzy

Sadece kopyalamak istiyorum.
Cripto,

Yanıtlar:


5

B'deki tüm dosyaların bir listesini yapın, findbu sürücüye gidip çalıştırarak komutla söyleyin :

$ find . > files-on-b.xt

Ardından rsync, A'dan C'ye kadar olduğunda , bu listeyi --exclude-fromparametrede belirtin :

$ rsync -avz --exclude-from=files-on-b.txt A C

Rsync'nin bir dışlama listesinden beklediği format / göreceli dizine uyduğundan emin olmak için listede öneklerle futz yapmanız gerekebilir. Her zaman iyi bir fikir rsync'i, -ngerçekte yapmadan ne yapmak üzere olduğunu görmek için seçeneği ile çalıştırmak için.

Daha fazla bilgi için rsync man sayfasına ve bu faydalı blog gönderisine bakın --exclude-from.


2

Bu --compare-destseçeneği kullanabilirsiniz . Bu, ilk hedefin tüm içeriğini saymanız gerekmediğinden ve birçok hedefle aşamalı olarak çalışacağınız için biraz zaman ve alan kazandırır. İşte böyle çalışır: İçeriği A'dan B'ye kopyaladıktan sonra, şunları çalıştırıyorsunuz:

rsync -avz --compare-dest=/path/to/B /path/to/A/ /path/to/C/

rsync, A kopyasını tamamlamak için C'ye aktarması gereken şeyi görmek için B içeriğini kullanacaktır. Zaten B'de olan hiçbir şey aktarılmaz. -Compare-dest için mutlak yolların gerekli olduğunu unutmayın, aksi takdirde yol hedefe göre alınır.

Herhangi bir etkinlikte hedefinizi daha fazla bölmek zorunda kalırsanız, daha fazla --compare-destargüman ekleyerek önceki birden çok hedefle karşılaştırabilirsiniz .

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.