Rsync, Dosyaların Her İki Yönde Senkronize Edilmesine İzin Verir mi?


25

Bir Linux web sunucusunu, cygwin ile rsync kullanarak yedekledim. Artık sunucumun windows laptopunda mükemmel bir kopyası var. Dizüstü bilgisayarımdaki bir dosyayı siler veya değiştirir ve tekrar rsync'i cygwin ile çalıştırırsam, aynı dosyayı sunucuda silecek / güncelleyecek mi? Sunucuda silip / değiştirip dizüstü bilgisayarımda rsync'i çalıştırdığımda, dizüstümdeki yerel dosyayı silecek / değiştirecek ancak bu tersten çalışıyor mu?


12
Bu, sorunuza bir cevap değil, ama bir göz atmalısınız unison. Her iki kopyada da dosya durumunu kaydeden ve böylece çift yönlü senkronizasyona izin veren bir senkronizasyon aracıdır. Ayrıca bir cygwin paketi var.
Dubu

Yanıtlar:


29

Rsync tek yönlü bir senkronizasyon yapar, ancak senkronizasyonun hangi yöne gideceğine karar vermek size bağlıdır.

Rsync komut sözdizimi aşağıdaki gibidir:

rsync [OPTION...] SRC... [DEST]

Kaynaktan hedefe senkronizasyon belirttiğinize dikkat edin. Kaynak ve hedef herhangi bir yerel veya uzak yol olabilir.

Örneğin, dosyaları sunucunuzdan dizüstü bilgisayarınıza kopyalamak istiyorsanız, aşağıdakileri yapın:

rsync [OPTION...] <server-path> <laptop-path>

Ters yönde senkronize etmek için şunları yaparsınız:

rsync [OPTION...] <laptop-path> <server-path>

Sorunuzu cevaplamak için: rsync'i nasıl yürüttüğünüze bağlı.

Dosyaların hedefte silinmesini istiyorsanız, --deleteseçeneği kullanmanız gerekir . Ancak dikkatli olun, çünkü kaynağınızı belirlerken bir hata yaparsanız, hedefinizdeki her şeyi kaldırabilirsiniz. Senkronizasyonunuzu önce --deleteseçenek olmadan test etmek daha güvenlidir ve nasıl çalıştığından memnun kaldıktan sonra --deleteseçenek ekleyebilirsiniz .

Aşağıdaki yorumlarda masegaloeh tarafından önerildiği gibi, -nya da --dry-runseçenek rsynckomut davranışını test etmek için de kullanılabilir .


9
Ek not: rsync davranışını test etmek için -nya da parametresini kullanabilirsiniz --dry-run, böylece hangi dosyanın silineceğini ve değiştirileceğini
bilirsiniz

1

Python3 yazılan bir sarıcı aracı denir bsyncsarar hangi findve rsynckomuta görevini basitleştirir. Github repo: https://github.com/dooblem/bsync

Github üzerindeyken korkmayın (örneğin, aracı kullanmak için programcı olmanız gerektiğini düşündüğünüz şekilde).


-1

--delete-after ile değil --delete kullanmayı düşünün, bu, alma işleminizin daha önce değil, aktarımdan sonra dosyaları silmesini sağlayacaktır.


OP'nin rsynchiçbir şeyi silmeye çalışmadığı için, indirgemelerin yüksek olduğunu düşünüyorum . Bir şeyleri kendi başına siliyor. Bunu söyledikten sonra, genel olarak rsync'ing için yararlı bir ipucu. Teşekkürler.
harperville
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.