Wie verwende ich rsync von einem Windows-PC auf einen entfernten Linux-Server?


23

Wie verwende ich den rsyncBefehl von einem lokalen Windows 7-Computer zu einem entfernten Linux-Server?

Welche Software wird auf dem Windows 7-Computer benötigt rsync?

Der entfernte Linux-Server verwendet Amazon Linux AMI. Der Befehl rsyncist auf dem Computer bereits aktiviert, und ich kann den erforderlichen Zugriff auf den Computer bearbeiten.

Dies dient zum Einrichten eines Webservers auf dem Remotecomputer und zum Bearbeiten auf meinem lokalen Computer sowie zum Synchronisieren der Dateien.

Ich möchte keinen bidirektionalen Zugriff zwischen den Computern, sondern bearbeite nur Dateien auf meinem lokalen Computer und halte sie auf dem Remotecomputer auf dem neuesten Stand.

AKTUALISIEREN:

Ich habe cygwin auf meinem Windows 7-Computer installiert und das rsync- Paket installiert . Kann jemand die Schritte zum Einrichten der Verbindung vom Windows 7-Computer zum Linux-Server aus der Ferne bereitstellen?

Angenommen, ich möchte, dass ein Ordner C:\wwwauf meinem Windows-Computer aufgerufen und \var\wwwauf meinem Remotecomputer aktualisiert wird. Wie kann ich das tun? Es ist kein Backup per se, es aktualisiert die Dateien, die ich mit meinem lokalen Computer bearbeite.

Antworten:


9

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.
-avzhWird 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
--excludeauslassen 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.


Beschreibung des -cParameters 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.
Lukasz Stelmach

6

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

  • Inkrementelle Sicherung - Kopiert einen Teil der Datei, die tatsächlich geändert wurde
  • Taskplaner - Profile in DeltaCopy können nach einem Zeitplan ausgeführt werden
  • E-Mail-Benachrichtigung - Administratoren können bei erfolgreichen und fehlgeschlagenen Übertragungen eine E-Mail-Bestätigung erhalten
  • Wiederherstellung mit einem Klick - Gesicherte Dateien können problemlos wiederhergestellt werden.
  • Windows-freundliche Umgebung - Keine Notwendigkeit, Konfigurationsdateien manuell zu ändern oder mit Befehlszeilenoptionen herumzuspielen.

6

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.


5

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.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.