Birden fazla bilgisayar kullanıyorsanız, her şeyi nasıl senkronize edersiniz? [kapalı]


31

Artık 4 veya 5 bilgisayarım var ve her şeyi senkronize etmek için daha iyi bir sisteme ihtiyacım var. Programlama projeleri için dosyalarımı senkronize etmek için git ve github'u çok kullanıyorum, fakat sonra veritabanları, .bash_profile dosyaları, bash scriptleri vs. var. Bazen dosyaları senkronize etmek yerine sadece bir bilgisayardan diğerine ssh yapıyorum. Ancak bu oldukça kaotik hale geliyor. Bilgisayarlarımın bazıları Ubuntu, bazıları ise OS X.

Birden fazla kişisel bilgisayarı kapsayan bir iş akışını yönetmek için herhangi bir öneriniz var mı?


1
Belki de ağ paylaşımlı klasörlerini denemeliyim
dan

1
@ rwong @ dan her şeyden önce bu "olağan cevaplar" için aradığı izlenimini edindim. Rsync ve paylaşılan klasörleri kullanmanın nasıl yardımcı olabileceğini açıklayan bir cevap göndermeyi düşünün.
Adam Lear

1
Çok dikkatli.
greyfade

4
Bu gerçekten programlamaya özgü değil. Belki de SU'ya göç etmek bunun için daha iyi bir yer olabilir mi?
Walter,

1
@FarmBoy - Birçoğu gerçekten sadece dosyalar olduğu için DB türüne bağlı olacaktır ... Bunu hala programlamadan ziyade dosya senkronizasyonu olarak görüyorum. Ve SU hakkında çok daha fazla sayıda cevap olacağını düşünüyorum. Sadece 2 sentim.
Walter,

Yanıtlar:


15

Git depoları için Git ve her şey için Unison kombinasyonunu kullanıyorum . Birkaç ortak profilim var, böylece belirli şeyleri ve her şeyi senkronize eden birini senkronize edebilirim. Ayrıca, içinden geçen ve eşzamanlı olarak senkronize olan her şeyi senkronize eden bir bash betiğim de var ve tüm git depolarımı günceller.

Unison, bilgisayarları senkronize etmek konusunda aklımdaki en iyi şey.


1
Veritabanlarını nasıl senkronize ediyorsunuz? Bu hem DDL hem de DML değişiklikleri için çalışıyor mu?
Eric Wilson

Şu anda herhangi bir SQL / veritabanı ile ilgili bir şey ile çalışmıyorum, bu yüzden bu soruyu yanıtlayamıyorum, çünkü bu benim için geçerli değil. Orijinal sorunun bu bölümünü özledim ve tüm kod ve profil bilgilerimi nasıl senkronize ettiğimi yanıtlıyordum.
sp0rus

Unison kullandığınızda sürüm çatışması alıyor musunuz? Onları nasıl minimize edersiniz?
dan

Bir şeyi değiştirmeden önce her zaman manuel olarak senkronize ederim, böylece dosyanın en güncel sürümünü düzenlerim. Ayrıca bilgisayarları senkronize etmek için her gece ayarlanmış bir cron işim var. Bu sisteme bağlı kalarak sürüm çatışmalarıyla ilgili herhangi bir sorun yaşamadım. Sapmak zorunda kaldığımda ve bir çatışma çıktığımda, hangisini diğerleriyle değiştirmek istediğimi seçebildiğim bir şeydi.
sp0rus

15

Dropbox

Dosyaları senkronize etmek için, onları DropBox'ın bildiği bir klasörde çalışmak kadar kolaydır. Ana sayfadaki video açıklamanın çoğunu yapıyor, bu yüzden özellikler hakkında yorum yapmadım. Basitçe sürümlenmiş bir dosyayı değiştirin ve DropBox otomatik olarak yükleyecektir, ardından DropBox'lı tüm diğer makineler otomatik olarak en son sürümü indirecektir.

Veritabanları gibi şeyler için, sembolik bağlantılar gitmenin yolu olabilir. DropBox forumlarındaki bu konu , bir MySQL veritabanını nasıl senkronize edebileceği konusunda biraz fikir veriyor. Alternatif olarak "export / import" script yolunu da yapabilirsiniz, ya da gerçekten MySQL kullanıyorsanız, Replication'a ve nasıl uygulanacağına bakabilirsiniz (bu, DropBox kullanmayan bir MySQL özelliğidir).


Dropbox'ı veritabanlarını senkronize etmek için nasıl kullanacağınızı anlamıyorum.
Eric Wilson

Dropbox dizinine düzenli bir veritabanı dökümü / geri yüklemesi zamanlayabilirsiniz.
badgerr

6
@ badgerr Dropbox'ın OP'nin bahsettiği çeşitli senaryolarda nasıl kullanılabileceğini içerecek şekilde cevabınızı genişletmeyi düşünün.
Adam Lear

Bu çirkin. DbMaintain gibi bir script-runner kullanmayı tercih ederim.
Eric Wilson

1
-1 Anna'nın bahsettiği nedenden dolayı. Cevabınızı genişletin ve oylar tersine dönecek ;-)
fretje

7
  • Dropbox
  • Github
  • Yer işaretleri / geçmiş / Firefox ayarları için Firefox Sync

1
Dümdüz ileri yanıt ve açılır kutunun üstü için +1. Açık kaynaklı toplulukla olan son PR sorunlarından bağımsız olarak, dropbox benim için çok değerli.
Falmarri

3

Elbette, .bash_profile dosyaları ve bash scriptleri de dahil olmak üzere tüm kodunuz için github kullanabilirsiniz.

Hudson / Jenkins CI sunucusu, çoklu ortamları korumak için iyidir. DbMaintain ile birlikte kullanıldığında, veritabanlarınızı da senkronize halde tutabilir.

Ekibim bu kombinasyonu dört eşleştirme istasyonunu, çeşitli dizüstü bilgisayarları ve CI, TEST ve QA ortamlarını (sunucular ve DB'nin kendi kopyaları ile) senkronize etmek için kullanıyor.

Bu, Windows makinelerini, Mac dizüstü bilgisayarlarını ve Linux sunucularını içerir, bu yüzden oldukça esnektir.


2

Dotfiles'imi makineye özel kurulumlar için dallarla gitmeye devam ediyorum. Hızlı bir şekilde yeni bir makine kurmama izin veriyor ve komut dosyalarını paylaşabilir ve bunları en son sürümde tutabilirim.


1

Belki de bir adım geriye atıp, neden bu kadar çok bilgisayara ihtiyaç duyduğunuzu kendinize sorun. Sahip olduğu 5 otomobilde eşyalarını nasıl aynı tutacağını soran biri gibi.

Her bir makinenin birincil makinenizin yapmadığını ne yaptığınızı kendinize sormanızı ve bunu yapmasını öneririm.

İyi bir dizüstü bilgisayar düşündün mü?

Bunların hepsi sizin evinizde ise, bir sunucu kurabilir ve her şeyi orada tutabilirsiniz. O zaman yedekleyecek veriye sahip bir makineniz var.

Uzak makineler ise, linux vps almayı düşünün ve uzak öğelerinizi orada saklayın. Yanlış zamanda kaybolabilecekleri için github, dropbox vb. Ücretsiz çevrimiçi hizmetleri kullanmayın.

Eşyalarını saklamak için AWS kullanmayın. 0,1 ABD doları / aylık / GB, bu 100 ABD doları / aylık / TB veya 1200 ABD doları / yıllık / TB'dir. Bu para için, yaklaşık 15 Western Digital 1 TB sabit disk satın alabilirsiniz.

Bir işletmeyi yönetirseniz ve para kazanırsanız, alabileceğiniz en iyi hizmeti kullanın, ancak dürüst olmak gerekirse, çok fazla veriyi taşımak için sabit sürücüleri yenmek zor. 32GB'lık mikro USB sürücüler bile bir tırnağın boyutundadır ve birçok veriyi hareket ettirebilirsiniz ...

İşte Bulut, Özel Bulut. Belki de Kişisel Bulut olmalı ...


İpuçları için teşekkürler. 5 bilgisayarım var, ancak bunlardan sadece 3ünü çok kullanıyorum ve üçüne de ihtiyacım var. Evde 1 Ubuntu sunucusu, 1 Thinkpad Ubuntu dizüstü bilgisayar (çalışma grubu) ve iOS geliştirme için 1 Macbook Pro
dan

0

Git, Subversion'dan, sonra da CVS'den göç etti. fgit (uyarı: benim tarafımdan) için pull push, statusve gc.


0

Orada bir çeşit bulut altyapısı oluşturmayı düşündün mü? Hangi iş istasyonunda servis / dosya / şey olduğunu soyutlamanın tek yolu gibi görünüyor.

İşte Ubuntu Bulutu için bir link .


0

Kullandığım Wuala Dropbox için yedek olarak şimdi. Bir sorun, Linux'ta klasör izlemenin olmaması. Temelde her dakika tüm dosyaları tarar. Bir sonraki sürüm bunu bir şekilde düzeltmeli, öyle diyorlar.

Linux'taki Gerçek Zamanlı senkronizasyon, inotify'ın uygulanma biçiminden dolayı onbinlerce klasörünüz (örneğin git depoları) varsa sorunludur. Her klasör için bir "saat" olması gerekir - örneğin bkz. Https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux


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.