Daten spiegeln mit Robocopy - Erfahrungen?

Begonnen von dobra, Dezember 22, 2009, 06:45:37

« vorheriges - nächstes »

0 Mitglieder und 2 Gäste betrachten dieses Thema.

dobra

Hallo,

Habe hier http://www.heise.de/software/download/special/backup_mit_robocopy/17_1 einen Artikel gefunden, der mich seeeeeehr interessiert
Hat jemand Erfahrung mit Robocopy?

Also was ich gerne machen möchte:
Arbeitsdateien (SP-Projekte) auf 2 PC (beide XP) und einem Notebook (Windows 7) zu synchronisieren.
Soll heißen, wenn ich auf einem Rechner Daten ändere, soll auf allen 3 Rechnern jeweils die neueste Version verfügbar sein.

ZitatRobocopy arbeitet stets inkrementell: Es vergleicht zunächst den Inhalt des Quellordners mit dem Ziel, um dann nur solche Dateien zu übertragen, die noch nicht im Zielordner vorhanden oder neuer sind. Das Programm verlässt sich dabei nicht auf Archivbits: Um zu entscheiden, ob eine Datei im Zielordner bereits identisch mit der Quelldatei ist, betrachtet Robocopy standardmäßig den Zeitpunkt der letzten Änderung sowie die Größe der Datei.

Klingt doch gut und sollte doch das machen, was ich mir wünsche?

allerdings scheint die Konfiguration nicht so einfach zu sein
Zitat....vorausgesetzt, Sie haben keine Scheu vor kryptischen Parameterlisten.
und auch "gefährlich" wenn man da was falsch macht
ZitatVorsicht: Nachdem Robocopy den Befehl ausgeführt hat, werden Quelle und Ziel mit identischen Ordnern und Dateien gefüllt sein. Das gilt auch dann, wenn Sie versehentlich ein falsches Zielverzeichnis auswählen - Robocopy wird den alten Inhalt gnadenlos entsorgen!
Also DAS will ich natürlich nicht ;)
ES sollen NUR bestimmte Ordner aktualisiert aber andere unberührt bleiben.

Meine Frage und Bitte also:
Kennt/arbeitet jemand damit und kann mir ein paar Tipps - im Idealfall eine Anleitung zum Einrichten - geben?

Nachtrag: habe mir gerade "RoboGUI" installiert
damit scheint es recht einfach zu gehen
zumindest lokal funktionierts - muss mal schauen, ob ich das auch irgendwie über die LAN-Verbindung (online) hinkriege.....
mfG
dobra

emil

Hallo Dobra,

man kann ja pro zu synchronisierenden Dateipfad und/oder Dateinamensstring eine eigene Befehlszeile innerhalb eine Batchdatei verknüpfen und diesen Batch per Geplante Tasks ausführen.

Um ehrlich zu sein, das mit dem bidirektionalen Synchronisieren ist eine sehr heisse Kiste.
Ich bin da eher für eine monodirektionale Master-/Slave-Synchronisation.
Beispiel: Du entwickelst auf PC1, PC2 ist aktiv mit Automatisierung oder es sieht mal jemand dort schnell in das Projekt. Du synchronisierst und die Entwicklung ist weg.
Da braucht man schon ein handfestes Regime, um solche Parallelbearbeitungen zu unterbinden. Oder man muss sehr häufig synchronisieren, zumindest die Projektdaten. Und dann müssen auf beiden Rechner die Uhrzeiten stimmen. Eine vergessene Sommerzeitumstellung könnte auch mal die Synchronisation in die falsche Richtung bedeuten.

Bei einer monodirektionalen Synchronisation hast Du auf jedem Rechner einen Batch, der nur die Änderungen von diesem Rechner auf alle anderen verteilt. Das bedeutet trotzdem: Es darf nur einen Bearbeiter geben und der muss seinen Stand nach Bearbeitung auf alle verteilen - zwingend. Eigentlich sehr kompliziert und risikobehaftet, wenn auf mehreren PCs gearbeitet werden soll.

Eine Spiegelung zu Sicherheitszwecken von einem fixen Quell-PC auf einen fixen Ziel-PC als Fallback ist dagegen mit Robocopy ideal.   

Da es ja zeitweise bei Shoppilot sehr enge Updatefolgen gab, hatten wir immer wieder das Problem, dass auf verschiedenen Computern mit verschiedenen Software-, Datenbank- und Projektständen gearbeitet wurde. Das war der Gau.
Inzwischen laufen alle aktiven Projekte, die Datenbank und die Software komplett auf einem Remote-Desktop. Datensicherungen sind ausreichend da, und für Entwicklungen und Erprobungen wird das Projekt einfach umkopiert in ein temporäres Verzeichnis und nach Umsetzung in den produktiven Shop wieder gelöscht.  Nutze ich auch über VPN von außerhalb...

Viele Grüße
Emil







dobra

Hallo Emil,

vielen Dank für Deine ausführliche Antwort.
Jetzt ist mir einiges ein bisschen klarer  :)

ZitatBeispiel: Du entwickelst auf PC1, PC2 ist aktiv mit Automatisierung oder es sieht mal jemand dort schnell in das Projekt.
hmm - DAS Risiko fällt bei mir weg, da ja NUR ich mit den Projekten arbeite
(zu Hause und im Geschäft = das sind die 2 PCs, diese Woche habe ich mir das Notebook zugelegt, um auch unterwegs - z.B. Urlaub - *meine Shops* dabei zu haben  8))

Jetzt mache ich es so, dass ich ein Projekt, an dem ich arbeite auf den Server lege und am jeweils anderen PC wieder runter lade.
(bei EINEM Projekt ist das nicht wirklich ein Problem, aber wenn ich an mehreren Projekten gleichzeitig an PC1 und PC2 arbeite, ist es schon öfter mal vorgelommen, dass ich an einer "alten" Version weitergearbeitet habe und mir damit die zuvor gemachten Änderungen überschrieben habe.

Ich suche daher schon länger nach einer effizienteren Lösung für dieses Problem.
Werde mir mal Deinen Vorschlag mit dem Remote-Desktop überlegen.
DAS scheint wirklich eine bessere Möglichkeit zu sein...

Danke!
mfG
dobra

emil

Hallo Dobra,

wenn Du Dir angewöhnst nach jeder Änderung diese auf alle anderen Systeme auszurollen und diese auch online sind, könnte das was mit Robocopy werden. Aber ansonsten sehe ich erhebliches Risikopotential, auch beim Einzelkämpfer.

Eine andere feine Sache wäre  goodsync www.goodsync.com.
Zwar teilweise kostenpflichtig. Trial verfügbar. Sicher gibt es auch reihenweise ähnliche Programme.

Dort kannst Du Verzeichnisse vergleichen lassen, bekommst auch vorgeschlagen was wohin synchronisiert werden soll. Du kannst aber manuell eingreifen, ob das so oK ist, ggf. korrigieren oder auf die Ausschlussliste setzen.  Du hast eben nicht die Black-Box von robocopy. 

Gruß
Emil

ahe

Hallo zusammen,

aus Entwicklersicht kann ich auch eine Versionsverwaltung wärmstens empfehlen.
Dabei wird das Shop-Projekt zentral auf einem Server/Rechner gespeichert.
Änderungen können bei Bedarf eingecheck (an den Server geschickt) werden oder auch wieder zurückgesetzt werden.
Und wenn mal Probleme nach Änderungen auftreten kann man dank Versionsverwaltung sehr leicht die Änderungen
an Dateien über die Änderungshistorie nachvollziehen und gglfs rückgängig machen.
Gerade das ist manchmal Gold wert wenn man viel an Vorlagen und Scripten arbeitet.
(Wink @ dobra ;))

Wir setzen bei uns zur Zeit gerne svn ein: http://subversion.tigris.org/
Zusammen mit http://tortoisesvn.tigris.org/ perfekt geeignet für die alltägliche Arbeit unter Windows,
da Tortoise SVN das Kontextmenü im Dateiexplorer um alle relevanten SVN-Funktionen erweitert.

Sehr viele Infos zu svn gibts hier: http://svnbook.red-bean.com/nightly/de/index.html

MfG ahe

dobra

Hallo ahe,

DANKE
genau DAS wollte ich haben  ;D ;D ;D
mfG
dobra