Synchronisieren Sie bei Bedarf ein ganzes Laufwerk zwischen zwei Windows 10-Computern, ohne in die Cloud zu gehen

Ich möchte die Dateien eines ganzen Laufwerks zwischen meinen beiden Windows 10-Computern, einem Desktop und einem Laptop, synchronisieren. Ich möchte dies tun können, wenn ich wähle , dh indem ich einen Befehl über die Befehlszeile ausführe.

Wenn ich eine Datei auf einem Computer lösche, möchte ich, dass sie auch auf dem anderen gelöscht wird. Wenn ich auf beiden Computern versehentlich Änderungen an derselben Datei vornehme, möchte ich die Konflikte lösen können.

Ich möchte, dass all dies über mein lokales Netzwerk geschieht , ohne in die Cloud zu gehen. Ich möchte, dass es ~ 50 GiB an Dateien verarbeiten kann. Und ich möchte, dass der Synchronisierungsprozess so effizient wie möglich ist und keine Dateien verschickt, von denen der andere Computer bereits Kopien hat.

@Chenmunka Es sieht nicht so aus, als ob Sie mit Robocopy zwischen Dateien unterscheiden können, die Sie absichtlich gelöscht haben (und auch auf dem anderen Computer löschen möchten) und Dateien, die Sie versehentlich gelöscht haben und wiederherstellen möchten. Ich denke, das ist der am leichtesten zu identifizierende Nachteil.

Antworten (2)

Ich habe mich für Git entschieden . Insbesondere die 64-Bit-Windows-Version von Git. Die 32-Bit-Version würde den gesamten 32-Bit-Adressraum verbrauchen und dann sterben.

Ich habe beide Computer über kabelgebundene Gigabit-Ethernetkabel mit demselben DSL-Router verbunden. Ich habe festgestellt, dass dies die Synchronisierung viel schneller macht als die Verwendung von Wireless für beide oder die Verwendung von Kabeln für das eine und Wireless für das andere. Ihre Ergebnisse können abweichen.

Beachten Sie, dass das Synchronisieren eines gesamten Laufwerks auf einmal nicht wirklich funktioniert hat. Ich musste es nach Unterordnern aufteilen. Dh statt:

E:\

Ich habe es aufgeteilt in:

E:\Users\Public
E:\Users\<My User Name>

Usw.

Um Git zu installieren und auf dem neuesten Stand zu halten, verwende ich Chocolatey . So installieren Sie Git anfänglich:

choco install git

...aus einem Windows PowerShell-Fenster mit Administratorrechten.

So suchen Sie nach Git-Updates und installieren diese:

choco upgrade all

...wieder aus einem PowerShell-Fenster mit Administratorrechten.

Nennen wir meinen Desktop-Computer DESKTOP-PC und meinen Laptop LAPTOP-PC. (Nicht ihre echten Maschinennamen.) Nachdem Git auf beiden Maschinen installiert war, habe ich sie beide neu gestartet. Dann habe ich auf dem DESKTOP-PC eine .gitignore-Datei unter E:\Users\Public erstellt, um Git anzuweisen, bestimmte Dateien und Ordner zu ignorieren, z. B. den Papierkorb, Informationen zum Systemvolumen und *.tmp.

Als Nächstes habe ich Folgendes in einem Nicht-Administrator-PowerShell-Fenster ausgeführt:

cd E:\Users\Public
git init
git add .
git commit -m "Initial Commit"

Ich habe dann mein Laufwerk E: über das Netzwerk als \DESKTOP-PC\e freigegeben. Ich habe die erweiterte Freigabe anstelle des Freigabeassistenten verwendet. Ich habe die Standardberechtigungen für „Jeder“ gelöscht und stattdessen einen Berechtigungseintrag speziell für meinen Benutzer mit vollständigen Berechtigungen hinzugefügt.

Als nächstes bin ich auf LAPTOP-PC umgestiegen. LAPTOP-PC hat kein E:-Laufwerk. Also habe ich stattdessen einen Ordner namens C:\E_Users erstellt. Dann habe ich ein PowerShell-Fenster ohne Administratorrechte geöffnet und Folgendes ausgeführt:

git clone file://///DESKTOP-PC/e/Users/Public

Dadurch wurden alle Dateien vom DESKTOP-PC auf den LAPTOP-PC kopiert. Es gab vielleicht Dateien im Wert von ~ 30 GiB, also dauerte es ein paar Minuten. (file:///// ist die Unix/Linux-kompatible Art, auf den UNC-Pfad \... zu verweisen. Dadurch kann ich manchmal Git Bash anstelle von Windows Command Prompt oder Windows PowerShell verwenden, wenn ich möchte. )

Der nächste Schritt bestand darin, den Ordner C:\E_Users des LAPTOP-PC im Netzwerk als \E5-772G\E_Users freizugeben. Ich habe dies mit den gleichen Berechtigungen wie den freigegebenen Ordner auf dem DESKTOP-PC eingerichtet. (Beachten Sie, dass dies wahrscheinlich nicht funktioniert hätte, wenn ich nicht auf beiden PCs denselben Benutzernamen und dasselbe Passwort gehabt hätte.)

Als nächstes habe ich wieder auf DESKTOP-PC umgestellt. Immer noch in PowerShell habe ich Folgendes ausgeführt:

git remote add LAPTOP-PC file://///LAPTOP-PC/E_Users/Public
git fetch --all
git branch --set-upstream-to=LAPTOP-PC/master master
git pull --all

Alles eingerichtet. Jedes Mal, wenn ich jetzt Dateien auf dem DESKTOP-PC hinzufüge, ändere oder lösche, öffne ich PowerShell oder Git Bash, wechsle in das richtige Verzeichnis und führe Folgendes aus:

git status

um genau zu sehen, welche Dateien ich geändert habe. Dann:

git add .
git status
git commit -m "<Brief, present-tense description of the changes I made>"

Dadurch werden meine letzten Änderungen bei Git registriert. Dann schalte ich auf LAPTOP-PC um und starte:

git pull --all --prune

Dadurch werden meine letzten Änderungen vom DESKTOP-PC auf den LAPTOP-PC übertragen.

Schließlich wechsle ich zurück zu DESKTOP-PC und führe Folgendes aus:

git pull --all --prune

nochmal. Jetzt weiß Git auf DESKTOP-PC, dass LAPTOP-PC alle aktuellen Änderungen enthält.

(Ich fand, dass Ziehen aus irgendeinem Grund besser funktionierte als Drücken.)

Wenn ich einige Dateien auf LAPTOP-PC ändere, ist der Prozess derselbe wie oben, außer dass ich wechsle, auf welchem ​​Computer ich welchen Befehl in welcher Reihenfolge ausführe.

Ich hoffe, das hilft jemandem!

Ich persönlich hätte Bvckup2 oder vielleicht Bit Torrent Sync genommen, aber wenn Sie zufrieden sind, ist das die Hauptsache. Nach 2 Tagen können Sie Ihre eigene Antwort akzeptieren, was anderen beim Lesen in Zukunft helfen wird.

Ich weiß, das ist alt, aber ich fand, dass es fast genau dasselbe tun wollte. Am Ende habe ich dazu Free File Sync verwendet und versteckte Dateien ausgeschlossen.

Ihre Antwort könnte durch zusätzliche unterstützende Informationen verbessert werden. Bitte bearbeiten Sie , um weitere Details wie Zitate oder Dokumentation hinzuzufügen, damit andere bestätigen können, dass Ihre Antwort richtig ist. Weitere Informationen zum Verfassen guter Antworten finden Sie in der Hilfe .