it-swarm.dev

Wie synchronisieren Sie alles, wenn Sie mehrere Computer verwenden?

Ich habe jetzt 4 oder 5 Computer und ich brauche ein besseres System, um alles zu synchronisieren. Ich benutze git und github häufig, um meine Dateien für Programmierprojekte zu synchronisieren, aber dann gibt es Datenbanken, .bash_profile-Dateien, Bash-Skripte usw. Manchmal, anstatt Dateien zu synchronisieren, ssh ich einfach von einem Computer auf einen anderen. Aber das wird ziemlich chaotisch. Einige meiner Computer sind Ubuntu und andere sind OS X.

Vorschläge zur Verwaltung eines Workflows, der mehrere PCs umfasst?

33
dan

Ich benutze eine Kombination aus Git für Git-Repositories und nison 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 unisono synchronisierten Dinge synchronisiert und dann alle meine Git-Repositorys aktualisiert.

Unison ist für mich das Beste, wenn es darum geht, Computer zu synchronisieren.

16
sp0rus

Dropbox

Das Synchronisieren von Dateien ist so einfach wie das Bearbeiten von Dateien 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, einen Blick auf Replikation und wie es implementiert wird (dies ist) werfen eine Funktion von MySQL, die DropBox nicht verwendet).

15
badgerr
  • Dropbox
  • Github
  • Firefox Sync für Lesezeichen/Verlauf/Firefox-Einstellungen
7
talonx

Sie können github natürlich für Ihren gesamten Code verwenden, einschließlich .bash_profile-Dateien und Bash-Skripten.

Der Hudson/Jenkins CI-Server eignet sich für die Wartung mehrerer Umgebungen. In Verbindung mit DbMaintain können auch Ihre Datenbanken synchron gehalten werden.

Mein Team verwendet diese Kombination, um vier Pairing-Stationen, eine Vielzahl von Laptops sowie CI-, TEST- und QA-Umgebungen (mit Servern und ihren eigenen Kopien der Datenbank) zu synchronisieren.

Dies betrifft Windows-Computer, Mac-Laptops und Linux-Server und ist daher recht flexibel.

3
Eric Wilson

Ich halte meine Dotfiles in Git, mit Zweigen für maschinenspezifische Setups. Dadurch kann ich schnell einen neuen Computer einrichten und Skripte freigeben und auf dem neuesten Stand halten.

2
Daenyth

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 all seine Sachen in den 5 Autos, die er besitzt, gleich halten kann.

Ich würde vorschlagen, dass Sie sich fragen, was jede Maschine tut, was Ihre primäre Maschine nicht tut, und dass Sie das einfach tun lassen.

Haben Sie einen guten Laptop in Betracht gezogen?

Wenn diese alle in Ihrem Haus sind, können Sie einen Server einrichten und alle Sachen dort aufbewahren. Dann haben Sie nur noch einen Computer mit Daten zum Sichern.

Wenn es sich um Remote-Computer handelt, sollten Sie einen Linux-VPS erwerben und Ihre Remote-Inhalte dort speichern. 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 verschieben. Sogar die 32-GB-Micro-USB-Laufwerke haben die Größe eines Fingernagels und Sie können viele Daten verschieben ...

Da ist die Cloud, die Private Cloud. Vielleicht sollte es die Personal Cloud geben ...

1

Ich benutze Wuala jetzt 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 sagen sie.

Die Echtzeitsynchronisierung unter Linux ist problematisch, wenn Sie aufgrund der Implementierung von inotify Zehntausende von Ordnern (z. B. Git-Repositorys) haben. Für jeden einzelnen Ordner muss es eine "Uhr" geben - siehe zum Beispiel https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with- Linux

0
ert

Git, von Subversion migriert, wiederum von CVS migriert. fgit (Haftungsausschluss: von mir) für pullPush, status und gc.

0
l0b0

Haben Sie darüber nachgedacht, dort eine Art Wolkeninfrastruktur zu erstellen? Scheint die einzige Möglichkeit zu sein, zu abstrahieren, von welcher Workstation der Dienst/die Datei/das Ding stammt.

Hier ist ein Link zur buntu Cloud .

0
guiman