1. Voraussetzungen
Zur Ausführung rsync Zwischen dem lokalen System und einem Remote-Server benötigen Sie:
Zwei Geräte: eines lokal (Ihr Computer) und eines Linux-Server (VPS oder dedizierter Server)
rsyncAuf beiden Systemen installiertSSH-Zugriff zwischen zwei Systemen (damit Sie kommunizieren können, ohne ständig Passwörter eingeben zu müssen).
Öffentlicher SSH-Schlüssel auf dem Zielserver in der Datei
autorisierte_Schlüsselzu platzieren
2. Konzept und Funktionsweise von rsync (spezielle und verständliche Version für Anfänger und Profis)
rsync ist ein leistungsstarkes Kommandozeilen-Tool in Linux, das verwendet wird für Synchronisierung (Sync) Und Datenübertragung Es wird zwischen zwei Pfaden verwendet, unabhängig davon, ob sich diese Pfade auf demselben System oder auf zwei verschiedenen Servern befinden.
Aber warum ist rsync so beliebt?
Deswegen Anstatt ganze Dateien zu übertragen, werden nur die geänderten Teile übertragen.
Wie genau funktioniert rsync? (Einfache und präzise Erklärung)
Wenn Sie rsync ausführen, führt das Tool zuerst Folgendes aus:
Struktur und Inhalt der beiden Tracks (z.B. Zielordner und Quellordner) werden verglichen.
Schecks Welche Dateien sind neu, welche wurden geändert und welche wurden gelöscht oder sind unverändert geblieben?.
Anstatt die gesamte Datei zu senden, senden Sie einfach Ein Teil der Daten, der sich geändert hat Transfers.
Diese Technik heißt:
Delta-Transfer-Algorithmus
Dieser rsync-Algorithmus Sehr schnell und effizient Das tut es, denn:
Der Bandbreitenverbrauch wird reduziert.
Die Übertragungszeit ist wesentlich kürzer.
Die CPU-Ressourcen des Servers werden weniger beansprucht.
Einfaches Beispiel zum besseren Verständnis der rsync-Funktionalität
Nehmen wir an, Sie haben eine 1 GB große Datei, von der sich nur 5 MB geändert haben.
Gängige Werkzeuge wie z. B.
SCP-1811Sie laden die gesamten 1 GB erneut hoch.Aber rsync sendet nur die gleichen 5 MB, die sich geändert haben..
Das heisst:
Mehr Geschwindigkeit
Geringere Internetnutzung
Geringere Belastung des Servers
rsync und Server: Warum es das beste Tool für die Serververwaltung ist?
Wenn auf einem Server Oder VPS Wer arbeitet, braucht in der Regel:
Backups zwischen zwei Servern verschieben
Verschieben Sie die Website-Dateien vom aktuellen Server auf den neuen Server.
Wichtige Ordner (wie /var/www) sollten stets synchronisiert sein.
Große Dateien übertragen, ohne Bandbreite zu verschwenden
In all diesen Fällen ist rsync die beste Wahl, weil:
Sichere Übertragung mit SSH
rsync verwendet für Übertragungen das SSH-Protokoll, daher:
Die Daten sind verschlüsselt.
Es ist nicht nötig, zusätzliche Ports zu öffnen.
Die Kommunikationssicherheit ist gewährleistet.
Überflüssige Dateien am Zielort löschen
Mit Flagge --löschen Es kann dafür sorgen, dass das Ziel exakt mit dem Quellziel übereinstimmt.
Lebenslauffunktion
Wenn die Internetverbindung während der Übertragung abbricht, überträgt rsync den Rest der Datei, nicht von Grund auf neu.
Geeignet für die Automatisierung
Es lässt sich problemlos in Cronjobs integrieren und erstellt automatisierte Backup-Prozesse.
Ein konkretes Beispiel zum besseren Verständnis:
Wenn Sie den folgenden Pfad von Server A zu Server B synchronisieren möchten:
Dieser Befehl:
Nur Ordneränderungen
/var/wwwTransfersAktualisiert es am Zielort.
Gewährleistet eine sichere Übertragung via SSH
Eine kurze Zusammenfassung für jemanden, der rsync noch nicht kennt:
| Besonderheit | Erläuterung |
|---|---|
| Hauptanwendung | Datenübertragung und Ordnersynchronisierung |
| Hauptvorteil | Es werden nur die Änderungen übertragen, nicht die gesamte Datei. |
| Sicherheit | Verwendung von SSH für sichere Übertragungen |
| Hohe Geschwindigkeit | Aufgrund des Delta-Transfer-Algorithmus |
| Professionell und serverfreundlich | Das beste Tool für Backup und Migration zwischen VPS |
3. Grundlegende rsync-Syntax
Allgemeine Struktur rsync Ähnlich wie andere Dateiwerkzeuge wie SCP-1811 Ist:
Einfaches lokales Beispiel:
Erstellen Sie zwei Testordner auf dem lokalen System.
Durchführung:
In diesem Fall nur der Inhalt
dir1Zudir2Es wird verschoben, nicht der Ordner selbst.
Option -A (Archiv) wird empfohlen, weil:
synchronisiert rekursiv das Verzeichnis
Behält Dateibesitz, Änderungszeitpunkt und Berechtigungen bei
Wichtig: Wenn Sie am Ende des Quellpfads ein “/” einfügen, werden nur die Inhalte des Verzeichnisses synchronisiert; andernfalls wird der ursprüngliche Ordner selbst übertragen.
4. Führen Sie eine sichere Vorschau durch mit --Trockenlauf
Vor der Durchführung sensibler Operationen (insbesondere bei der Verwendung von Optionen wie z. B. --löschen (Wenn Sie es verwenden), ist es am besten, zuerst einen Trockenlauf durchzuführen:
Option
-NOder--TrockenlaufSimuliert Abläufe, ohne Änderungen vorzunehmen-v(verbose) Liefert eine detaillierte Ausgabe der synchronisierten oder gelöschten Dateien.
Diese Vorschau hilft Ihnen, genau zu sehen, was passieren wird, bevor Sie Dateien löschen, und riskante Fehler zu vermeiden.

5. Dateien zwischen dem lokalen System und dem Server übertragen (Senden und Herunterladen).
An Server senden (Push)
So synchronisieren Sie ein lokales Verzeichnis mit dem Server:
-ADateiattribute beibehalten~/lokales-verzeichnis/Lokale RouteBenutzer@Remote-ServerBenutzer- und Serveradresse:/remote/path/Pfad auf dem Server
Steht am Ende der Quelle ein "/", werden nur die Inhalte des Ordners gesendet; andernfalls wird auch der Ordner selbst übertragen.
Vom Server empfangen (Pull)
Umgekehrte Operation: Synchronisierung vom Server zum lokalen System:
Nochmals, es ist wichtig, den Schrägstrich im Quellpfad (hier dem Serverpfad) zu beachten, da er das Synchronisierungsverhalten bestimmt.
6. Erweiterte Optionen rsync
-z: Daten beim Senden komprimieren, um die Netzwerkauslastung zu reduzieren-PEine Kombination aus--FortschrittUnd--teilweiseDies ermöglicht die Anzeige des Übertragungsfortschritts und die Fortsetzung unvollständiger Übertragungen.
Beispiel:
--löschen: Dateien löschen, die im Zielverzeichnis vorhanden sind, aber nicht mehr im Quellverzeichnis (geeignet für Spiegelung)--ausschließenUnd--enthalten: Dateien/Ordner filtern für präzisere Interaktion--backupUnd--backup-dir: Erstellen Sie eine Sicherungskopie der gelöschten Dateien in einem separaten Pfad
7. Zeitplansynchronisierung mit Cron
Um eine regelmäßige Synchronisierung durchzuführen, können Sie rsync In Cron Zeitplan:
Crontab bearbeiten:
Beispiel für einen täglichen Cronjob zur Synchronisierung:
Dieser Befehl wird jeden Tag um 3 Uhr morgens ausgeführt und synchronisiert das lokale Verzeichnis mit der Serverversion.
Wichtige Empfehlungen für Cronjobs:
Von absoluten Pfaden bis
rsyncund verwenden Sie VerzeichnisseEinrichtung der passwortlosen SSH-Schlüsselanmeldung
Cron-Ausgabe in einer Protokolldatei speichern oder Fehler behandeln
8. Behebung häufiger Probleme und bewährte Vorgehensweisen
Einige häufige Probleme bei der Verwendung rsync Und seine Lösungen:
Fehler im Quell-/ZielpfadVerwendung von
--TrockenlaufFür eine detaillierte ÜberprüfungUnerwünschtes Löschen von DateienNur wenn wir uns absolut sicher sind
--löschenLasst uns verwendenBerechtigungsfehler: mit
-AEigentumsrechte und Berechtigungen müssen gewahrt bleiben.Automatisierungsprobleme: Vollständige Pfade und passwortlose SSH-Authentifizierung verwenden
Abschluss
rsync Es handelt sich um ein sehr leistungsstarkes und optimiertes Tool zur Datensynchronisierung zwischen lokalem Rechner und Server. Dank des Delta-Transfer-Algorithmus ist es eine energiesparende, sichere und präzise Option für Backups, Datentransfers und die Erstellung von Spiegelumgebungen. Experimentieren Sie mit den erweiterten Optionen. --Trockenlauf und Terminplanung mit CronSie können den Synchronisierungsprozess optimieren, sichern und automatisieren.









