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.