rsync --remove-source-files kaynak dosyaları birer birer veya rsync tamamlandıktan sonra siler mi?


23

Bir klasörün içeriğini başka bir makineye kopyalayan bir uygulamada rsync komutum var. Seçeneğim var --remove-source-filesçünkü sadece hedef makinedeki dosyaları rsync tamamlandıktan sonra ilgilenmek istiyorum.

Ancak, dosyaları aktarırken rsync'in çökmesi veya kesilmesi durumunda nasıl davrandığını merak ediyordum?

Ben senkronizasyonu iki dosya var, düşünün ave b. Kopyasını rsync Will a, ardından kaynağından silin ve kopyalama başlatmak b, ya da her ikisi için bekleyecek ave bikisini de silmeden önce hedef makineye kopyalanacak? Bazı bayrakları içeren yabancı dosyaları silerken bu davranışı yapılandırabileceğinizi gördüm, ancak kaynak dosyaların kaldırılmasıyla ilgili hiçbir şey bulamadınız.


stackoverflow.com/questions/7380234/… 'e benzer, ancak Kyle'ın haklı olduğunu düşünüyorum - bazen rsync tüm dosyaların tamamlanmasını bekler, ancak bazen dosyaları tamamlamadan önce siler. Yine de biraz karıştı.
Chris2048

Yanıtlar:


16

Rsync kodunun kontrol edilmesi, kaynak dosyaların gönderildiklerinde kaldırıldığını ancak hemen gerçekleşmeyebildiğini göstermektedir. rsync, işlemlerini çoğaltır; bu nedenle, bir dosyanın başarıyla alındığı mesajı (ve bu nedenle silinebilir), diğer verilerin arkasında tamponlanabilir.


2
Aşağıdaki cevabım gereğince birkaç dosya ile denedim ve dosyalar sadece tüm işlem başarılı olduğunda silindi. Bu, bulduğunuz "transfer Tamam" sinyalinin yalnızca tüm işlem başarılı olduğunda geçirgen olduğunu düşündürür.
Daniel Andersson

5
Birkaç dosyadan fazlasını denediğinizde, tüm transfer işlemi tamamlanmadan önce kaynak dosyaların kaybolduğunu görürsünüz.
Kyle Jones

Görünüşe göre dizinleri ve özyinelemeli seçeneği belirlerken, a dosyaları hemen silinmez
Andre Holzner

4

Denedim (ve emin olmak için kolayca yapabilirsin). Tüm dosyalar başarıyla aktarıldıktan sonra bunlar kaldırılır . Aktarım yarıda kesilirse veya başka bir hata oluşursa, bazıları da Tamam aktarılsa bile kaynak dosyalar kaldırılmaz.

EDIT: Kyle Jones'in cevabına göre, birçok dosya işin içine girdiğinde durum farklı olabilir.

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.