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 . 'my_remote_linux_computer@128.95.170.200:/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 . my_remote_linux_computer@128.95.155.200:/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.