Ich habe jetzt 4 oder 5 Computer und ich brauche ein besseres System, um alles zu synchronisieren. Ich benutze git und github oft, um meine Dateien für Programmierprojekte zu synchronisieren, aber dann gibt es Datenbanken, .bash_profile-Dateien, Bash-Skripte usw. Manchmal synchronisiere ich nur Dateien von einem Computer auf einen anderen. Aber das wird ziemlich chaotisch. Einige meiner Computer sind Ubuntu, andere OS X.
Vorschläge zur Verwaltung eines Workflows, der sich über mehrere PCs erstreckt?
Antworten:
Ich benutze eine Kombination aus Git für Git-Repositories und Unison für alles andere. Ich habe mehrere unisono Profile, damit ich bestimmte Dinge synchronisieren kann, und eines, das alles synchronisiert. Ich habe auch ein Bash-Skript, das alle Dinge synchronisiert, durchläuft und alle meine Git-Repositories aktualisiert.
Unison ist für mich das Beste, wenn es darum geht, Computer zu synchronisieren.
quelle
Dropbox
Das Synchronisieren von Dateien ist so einfach wie das Bearbeiten in einem Ordner, den DropBox kennt. Das Video auf der Hauptseite enthält den größten Teil der Beschreibung, weshalb ich die Funktionen nicht kommentiert habe. Ändern Sie einfach eine versionierte Datei und DropBox lädt sie automatisch hoch. Alle anderen Computer mit DropBox laden automatisch die neueste Version herunter.
Für Dinge wie Datenbanken könnten Symlinks der richtige Weg sein. Dieser Thread in den DropBox-Foren bietet einen kleinen Einblick, wie man eine MySQL-Datenbank synchronisieren kann. Alternativ können Sie die Skriptroute "Exportieren / Importieren" ausführen oder, wenn Sie tatsächlich MySQL verwenden, sich Replication und dessen Implementierung ansehen (dies ist eine Funktion von MySQL, die DropBox nicht verwendet).
quelle
quelle
Natürlich können Sie github für Ihren gesamten Code verwenden, einschließlich .bash_profile-Dateien und Bash-Skripten.
Der Hudson / Jenkins-CI-Server eignet sich für die Verwaltung mehrerer Umgebungen. In Verbindung mit DbMaintain können auch Ihre Datenbanken synchronisiert werden.
Mein Team synchronisiert mit dieser Kombination vier Pairing-Stationen, verschiedene Laptops sowie CI-, TEST- und QA-Umgebungen (mit Servern und eigenen Kopien der Datenbank).
Dies betrifft Windows-Computer, Mac-Laptops und Linux-Server und ist daher sehr flexibel.
quelle
Ich halte meine Punktedateien in Git, mit Zweigen für maschinenspezifische Einstellungen. Auf diese Weise kann ich schnell einen neuen Computer einrichten und Skripts freigeben und auf dem neuesten Stand halten.
quelle
Vielleicht müssen Sie einen Schritt zurücktreten und sich fragen, warum Sie so viele Computer benötigen. Es ist, als würde jemand fragen, wie er sein gesamtes Zeug in den 5 Autos, die er besitzt, unverändert lassen kann.
Ich würde vorschlagen, dass Sie sich fragen, was jeder Computer tut, was Ihr primärer Computer nicht tut, und es einfach dazu bringen, das zu tun.
Haben Sie einen guten Laptop in Betracht gezogen?
Wenn dies alles in Ihrem Haus ist, können Sie einen Server einrichten und all das Zeug dort aufbewahren. Dann haben Sie nur noch einen Rechner mit Daten zum Sichern.
Wenn es sich um Remotecomputer handelt, sollten Sie sich ein Linux-VPS zulegen und Ihre Remotecomputer dort aufbewahren. Verwenden Sie keine kostenlosen Online-Dienste wie Github, Dropbox usw., da diese zur falschen Zeit verschwinden können.
Verwenden Sie AWS nicht zum Speichern Ihrer Daten. bei 0,1 USD / Monat / GB sind das 100 USD / Monat / TB oder 1200 USD / Jahr / TB. Für dieses Geld können Sie rund 15 Western Digital 1 TB-Festplatten kaufen.
Wenn Sie ein Unternehmen führen und damit Geld verdienen, nutzen Sie den bestmöglichen Service. Um ehrlich zu sein, ist es schwierig, Festplatten zu schlagen, um viele Daten zu übertragen. Sogar die 32-GB-Micro-USB-Laufwerke haben die Größe eines Fingernagels und Sie können eine Menge Daten in ...
Da ist die Cloud, die Private Cloud. Vielleicht sollte es die Personal Cloud geben ...
quelle
Git, migriert von Subversion, wiederum migriert von CVS. fgit ( disclaimer : von mir) für
pull
push
,status
undgc
.quelle
Haben Sie darüber nachgedacht, dort eine Art Cloud-Infrastruktur zu schaffen? Scheint die einzige Möglichkeit zu sein, zu abstrahieren, von welcher Workstation der Dienst / die Datei / das Objekt stammt.
Hier ist ein Link zur Ubuntu Cloud .
quelle
Ich benutze jetzt Wuala als Ersatz für Dropbox. Ein Problem ist die fehlende Ordnerüberwachung unter Linux. Grundsätzlich werden alle Dateien jede Minute durchsucht. Die nächste Version sollte das irgendwie beheben, so heißt es.
Die Echtzeitsynchronisation unter Linux ist problematisch, wenn Sie aufgrund der Art und Weise, wie inotify implementiert ist, über Zehntausende von Ordnern (z. B. Git-Repositorys) verfügen. Für jeden einzelnen Ordner muss eine "Uhr" vorhanden sein - siehe zum Beispiel https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux
quelle