Mam teraz 4 lub 5 komputerów i potrzebuję lepszego systemu do synchronizacji wszystkiego. Często używam git i github do synchronizacji moich plików do programowania projektów, ale są też bazy danych, pliki .bash_profile, skrypty bash itp. Czasami zamiast synchronizować pliki, po prostu ssh in z jednego komputera na drugi. Ale robi się dość chaotycznie. Niektóre z moich komputerów to Ubuntu, a inne to OS X.
Wszelkie sugestie dotyczące zarządzania przepływem pracy obejmującym wiele komputerów osobistych?
Odpowiedzi:
Używam kombinacji Git do repozytoriów git i Unison do wszystkiego innego. Mam kilka profili unison, więc mogę synchronizować określone rzeczy, i taki, który wszystko synchronizuje. Mam również skrypt bash, który przechodzi i synchronizuje wszystkie rzeczy, a następnie synchronizuje i aktualizuje wszystkie moje repozytoria git.
Unison jest najlepszą rzeczą, jeśli chodzi o synchronizację komputerów.
źródło
Dropbox
Synchronizacja plików jest tak prosta, jak praca nad nimi w folderze, o którym wie DropBox. Film na stronie głównej zajmuje większość opisu, dlatego nie skomentowałem funkcji. Po prostu zmodyfikuj plik z wersją, a DropBox prześle go automatycznie, a następnie wszystkie inne maszyny z DropBox automatycznie pobiorą najnowszą wersję.
W przypadku takich baz danych jak dowiązania symboliczne mogą być dobrym rozwiązaniem. Wątek na forach DropBox zapewnia mały wgląd w sposób synchronizacji bazy danych MySQL. Alternatywnie możesz wykonać trasę skryptu „eksportuj / importuj” lub, jeśli faktycznie używasz MySQL, możesz rzucić okiem na Replikację i jak ją wdrożyć (jest to funkcja MySQL, która nie korzysta z DropBox).
źródło
źródło
Oczywiście możesz używać github do całego swojego kodu, włączając w to pliki .bash_profile i skrypty bash.
Serwer CI Hudson / Jenkins jest dobry do obsługi wielu środowisk. W połączeniu z DbMaintain może również synchronizować bazy danych.
Mój zespół używa tej kombinacji do synchronizacji czterech stacji parujących, różnych laptopów oraz środowisk CI, TEST i QA (z serwerami i własnymi kopiami bazy danych).
Dotyczy to komputerów z systemem Windows, laptopów Mac i serwerów Linux, więc jest dość elastyczny.
źródło
Trzymam moje pliki dot w git, z gałęziami dla konfiguracji specyficznych dla maszyny. Pozwala mi to szybko skonfigurować nową maszynę i mogę udostępniać skrypty i przechowywać je w najnowszej wersji.
źródło
Być może musisz cofnąć się o krok i zadać sobie pytanie, dlaczego potrzebujesz tak wielu komputerów. To tak, jakby ktoś pytał, jak zachować wszystkie te same rzeczy w 5 samochodach, które posiada.
Sugeruję, abyś zadał sobie pytanie, co robi każda maszyna, czego nie robi twoja maszyna podstawowa, i po prostu spraw, aby to zrobiła.
Czy zastanawiałeś się nad dobrym laptopem?
Jeśli wszystkie są w twoim domu, możesz skonfigurować serwer i przechowywać tam wszystkie rzeczy. Masz tylko jedną maszynę z danymi do utworzenia kopii zapasowej.
Jeśli są to zdalne maszyny, rozważ uzyskanie Linuxa VPS i przechowuj tam swoje zdalne rzeczy. Nie korzystaj z bezpłatnych usług online, takich jak github, dropbox itp., Ponieważ mogą one zniknąć w niewłaściwym czasie.
Nie używaj AWS do przechowywania swoich rzeczy. przy 0,1 USD / miesiąc / GB, czyli 100 USD / miesiąc / TB lub 1200 USD / rok / TB. Za te pieniądze można kupić około 15 dysków twardych Western Digital 1 TB.
Jeśli prowadzisz firmę i zarabiasz na niej pieniądze, skorzystaj z najlepszej dostępnej usługi, ale szczerze mówiąc, ciężko jest pokonać dyski twarde, aby przenieść wiele danych. Nawet dyski micro USB 32 GB są wielkości paznokcia i można przenosić wiele danych ...
Jest Chmura, Prywatna Chmura. Może powinna istnieć Personal Cloud ...
źródło
Git, migrowany z Subversion, z kolei migrował z CVS. fgit (disclaimer: przeze mnie) o
pull
push
,status
igc
.źródło
Czy zastanawiałeś się nad stworzeniem infrastruktury chmurowej? Wydaje się, że jest to jedyny sposób na abstrahowanie od tego, na której stacji roboczej znajduje się usługa / plik / rzecz.
Oto link do chmury Ubuntu .
źródło
Używam Wuala teraz jako zamiennika Dropbox. Jednym z problemów jest brak monitorowania folderów w systemie Linux. Zasadniczo skanuje wszystkie pliki co minutę. Następna wersja powinna jakoś to naprawić, tak mówią.
Synchronizacja w czasie rzeczywistym w systemie Linux jest problematyczna, jeśli masz dziesiątki tysięcy folderów (np. Repozytoria git) ze względu na sposób implementacji inotify. Każdy folder musi mieć jeden „zegarek” - patrz na przykład https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux
źródło