Rsync dizin içeriğini kopyalar, ancak dizinin kendisini kopyalamaz


120

İki klasör içeriğini farklı adla senkronize etmeye çalışıyorum:

rsync -av ~/foo user@remote.com:/var/www/bar

Ben içeriğini kopyalamak istediğiniz fooINTO bardeğil dizin uzak ana ama fookendisi. Gibi bir şey denedim foo/*ama rsync bunu desteklemiyor.

rsync her zaman oluşturur

/var/www/bar/foo

18
sadece sondaki eğik çizgiyi bırakın yeterli olacaktır
exussum

Yanıtlar:


190

Deneyin rsync -av ~/foo/ user@remote.com:/var/www/bar/


37
Bu davranış, mvveya ile karşılaştırıldığında tuhaftır cp.
zeekvfu

Sondaki eğik çizgiyi yalnızca bu belirli komutla alakalı hale getirmek garip ve tutarsız görünüyor. Neden değiştirilmediğini merak ediyorum.
Luke Davis

39
Birinin de bunun neden çalıştığını merak etmesi durumunda : bu /, dizin adından sonra gelen kısımdır .
Etienne Bruines

32

Basit,

rsync /var/www/ /home/var- / var / www / içeriğini kopyalar ancak www klasörünün kendisini kopyalamaz .

rsync /var/www /home/var- www klasörünü tüm içeriği ile birlikte kopyalar .

Farkı "/" oluşturur.


6
Bu, farkı gerçekten açıklayan kabul edilmiş cevap olmalı
edi9999

29

Sadece rsync ile ilgili değil, bir GNU / Linux komutunun nasıl kullanılacağına dair örnekler ararken, açık örnekler gösteren "eg" yi kullanabilirsiniz. örneğin, nasıl kurulacağına ilişkin talimatlarla birlikte burada mevcuttur: https://github.com/srsudar/eg

Sonucu eg rsyncaşağıdaki gibidir

# rsync


copy the folder source_dir and its content into destination_dir

    rsync -av source_dir destination_dir


copy the contents of source_dir (trailing slash) into destination_dir

    rsync -av source_dir/ destination_dir

0

Kopyalamak istediğiniz dizine gidin, böylece:

cd ~/foo 

Bunu çalıştırın:

rsync -avz . user@remote.com:/var/www/bar
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.