Bunun üzerine dosya kopyala


0

2 dizinli bir sunucum var: 1 bir geliştirme sitesi, diğeri canlı site.

Geliştirme sitesinde çalışmak isterim ve basit bir komutla, yalnızca canlı sitedeki güncellenmiş dosyaların üzerine gidin ve üzerine gelin.

Git olduğunu anlıyorum ve bununla ilgili bazı anlayışlarım var, ama daha doğrudan bir rota olup olmadığını merak ediyorum.

Baska öneri? Dizinleri yinelemeli olarak tutarken 2 dizini karşılaştırmak ve yeni dosyalar arasında birinden diğerine kopyalamak için bir linux komutu var mı?

Teşekkürler.


2
Git'i bulmak zamana değer bir yatırımdır. MadHatter tarafından açıklanan rsync komutuyla ilgili bir uyarı, önceki sürüme hızlı bir şekilde geri dönmek isteyebilirsiniz. En azından git (ya da en azından sürüm kontrollü dağıtım) ile, doğru bir şekilde yaptığınız takdirde geri alma işlevine sahip olursunuz; böylece birkaç (bir?) Komutuyla üretimi iyi bilinen bir duruma geri döndürebilirsiniz. İlgili: rsync ile, önemsediğiniz bir şeyi mahvedebilirsiniz ve geri çekilecek bir sürümü olmayabilir.
cjc

Yanıtlar:


6

Temel olarak, rsyncüzerinde çalıştırmak için bir kanal bulmak koşuluyla, aracınızdır.

Devbox'dan prodbox'a ssh yapabileceğimi varsayarak, site dizinlerini önerdiğiniz gibi senkronize edebilirim

devbox% rsync -avl -e ssh /opt/site/ prodbox:/opt/site/

rsyncHedefteki, kaynakta bulunmayan dosyaların silinmesi, kopyalanma koşulları vb. ile kullanmak isteyebileceğiniz birçok bayrak; ayrıntılar için man sayfasına bakınız.

Düzenleme: Yorumunuz ışığında (ve adalet içinde, açıkladığınızı düşünüyorum, bunu anlayamadım), bu hayatı daha da kolaylaştırıyor. Deneyin

box% rsync -avl /home/sites/devfolder/ /home/sites/livefolder/

Üzgünüm, düzgün benim durumum açıkladı sanmıyorum - Yan örneğin / home / siteler / devfolder aynı kutu tarafında gelişme klasör ve canlı sunucu ve / home / siteler / livefolder
willdanceforfun

Bunun için teşekkürler! % Kutusu ve% kutusu devbox ne içindir? Bunları mı yazarım yoksa sadece 'rsync' ile mi başlarım?
willdanceforfun

1
bunlar kabuk hattının başında "bilgi istemleri" dir. Örnek amaçlı "geliştirme kutusu", "üretim kutusu" vb. Bunları yazmazsınız.
hayalci

0

"Güncelleştirilen canlı sitedeki herhangi bir dosyanın üzerine yazmak" istiyorsanız, rsync'nin '-u' komut satırı anahtarını kullanmanız gerekir.


Şerefe. Bu yararlı.
willdanceforfun

Hayır, -uaslında hedef tarafında güncellenen dosyaları tutar . man sayfasına bakınız. "" ... hedefte var olan ve kaynak dosyadan daha yeni olan değiştirilmiş bir zamana sahip olan dosyaları atla ""
hayalci
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.