Ich habe MinGW (auch bekannt als 'Git Bash' ) unter Windows 7 und eine Batch-Datei, die rsync ausführt, um Dateien auf einem externen Laufwerk auf einem entfernten Linux-Computer zu sichern. Hier ist die Batch-Datei ( my_rsync_file.bat
)
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60 --exclude Downloads . '[email protected]:/media/my_remote_linux_computer/LaCie/My\ Documents'"
Hier ist eine kurze zeilenweise Erklärung:
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
Dies gibt nur eine Nachricht aus, um mich daran zu erinnern, was los ist.
cd ../
Hierdurch wird das Verzeichnis um eine Ebene nach oben in der Batch-Datei geändert (zu "Eigene Dateien"). Die Batchdatei befindet sich auf einem externen Laufwerk meines Windows-Computers. Ich möchte den gesamten Ordner "Eigene Dateien" auf diesem externen Laufwerk mit einem Ordner mit demselben Namen auf einem externen Laufwerk auf meinem Remote-Linux-Computer synchronisieren.
REM starting rsync...
Druckt einfach eine andere Nachricht.
bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . [email protected]:/media/my_remote_linux_computer/LaCie/My\\ Documents"
bash
: Startet MinGW mit integrierter rsync-Bibliothek
-c
. Nicht sicher, was dies bewirkt
rsync
. Bibliothek zum Synchronisieren von Dateien.
-avzh
Wird mit MinGW geliefert: a-Archiv, v-Verbose, z-Compress, h-lesbar. Dies sind die allgemeinen Optionen (mehr: http://linux.die.net/man/1/rsync )
-P
: Fortschritt für große Dateien anzeigen, damit ich weiß, ob es eingefroren ist oder nicht
--stats
: Zusammenfassung der Anzahl der am Ende übertragenen Dateien und Bytes anzeigen
--timeout=60
: danach beenden 60 Sekunden , wenn es klemmt
--exclude
auslassen Dateien / Verzeichnisse aus Synchronisierung, in diesem Fall habe ich ein Verzeichnis ausschließen genannt ‚Downloads‘
.
: zeigt den gesamten Inhalt von ‚Eigene Dateien‘ zu synchronisieren (erwarten , dass die angegebene Sache in der Leitung auszuschließen oben)
my_remote_linux_computer
: Name von meinem entfernten Linux-Computer (nicht der tatsächliche Name;)
@128.95.155.200
: Die IP-Adressen meines entfernten Linux-Computers von https://www.whatismyip.com/ (nicht meine tatsächliche IP-Adresse :)
/media/my_remote_linux_computer/LaCie/My\\ Documents
: Der Pfad zu dem Verzeichnis auf meinem entfernten Linux-Computer, in dem ich die Dateien empfangen möchte. Es ist ein externes Laufwerk.
Beachten Sie, dass der Bereich in "Eigene Dateien" mit zwei umgekehrten Schrägstrichen versehen ist und der vollständige Name und das Verzeichnis des Remote-Ziels in doppelte Anführungszeichen eingeschlossen sind.
Wenn ich auf die bat-Datei doppelklicke, werde ich aufgefordert, das Passwort für meinen entfernten Linux-Computer einzugeben. Wenn es abgeschlossen ist, erhalte ich eine Zusammenfassung und werde aufgefordert, eine beliebige Taste zum Schließen zu drücken.
-c
Parameters von bash man: Wenn die Option -c vorhanden ist, werden Befehle aus dem String gelesen. Befinden sich nach der Zeichenfolge Argumente, werden diese den Positionsparametern zugewiesen, beginnend mit $ 0.Wenn Sie eine kostenlose App möchten, die Cygwin und Rsync mit einer schönen grafischen Oberfläche verbindet, schauen Sie sich Deltacopy an :
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
quelle
Eine Möglichkeit ist die Installation von rsync durch die Installation von cygwin unter Windows. Dafür gibt es wahrscheinlich einen viel direkteren Ansatz.
Eine andere Möglichkeit könnte darin bestehen, von der Linux-Seite aus rsync auszuführen - Sie könnten ein Mittel einrichten, mit dem der Remote-Computer auf lokale Dateien zugreifen kann, und dann von dort rsync ausführen (werfen Sie einen Blick auf das Mounten von smb / cifs-Freigaben).
Ich vermute, dass es noch bessere Optionen gibt, aber vielleicht hilft das ein bisschen.
Update für 2017
Mit dem in Windows 10 verfügbaren Linux-Subsystem können Sie wahrscheinlich sehr einfach einen ssh & rsync-Server damit installieren und rsync mit Windows verwenden.
quelle
MinGW hat einen eingebauten Rsync, der ziemlich gut zu funktionieren scheint. Es hat sogar einen Daemon-Modus - obwohl ich das nicht getestet habe. Ich empfehle MinGW aus mehreren Gründen gegenüber Cygwin: MinGW ist eine kleinere Installation und Windows nativ.
quelle
Lifehacker hat einen großartigen Artikel über Rsync für den PC .
Scheint, als würde Lifehacker auch Cygwin empfehlen.
Hier gibt es auch eine Anleitung: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html
quelle