So verwenden Sie Rsync zum Synchronisieren lokaler und entfernter Verzeichnisse
So verwenden Sie Rsync zum Synchronisieren lokaler und entfernter Verzeichnisse

Synchronisierung von Verzeichnissen zwischen Server und lokalem System mit rsync

Die Dateisynchronisierung ist eine der wichtigsten Aufgaben bei der Datenspeicherung, Datensicherung und Serververwaltung. Das Tool rsync ist eine leistungsstarke, flexible und optimierte Lösung für diese Aufgabe. Diese Anleitung zeigt Ihnen, wie Sie lokale und entfernte Verzeichnisse (auf dem Server) mit rsync synchronisieren, es für Datensicherungen verwenden und Übertragungen automatisieren.
0 Aktien
0
0
0
0

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)

  • rsync Auf beiden Systemen installiert

  • SSH-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üssel zu 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:

  1. Struktur und Inhalt der beiden Tracks (z.B. Zielordner und Quellordner) werden verglichen.

  2. Schecks Welche Dateien sind neu, welche wurden geändert und welche wurden gelöscht oder sind unverändert geblieben?.

  3. 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-1811 Sie 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:

rsync -avz /var/www/ user@server-ip:/var/www/

Dieser Befehl:

  • Nur Ordneränderungen /var/www Transfers

  • Aktualisiert es am Zielort.

  • Gewährleistet eine sichere Übertragung via SSH


Eine kurze Zusammenfassung für jemanden, der rsync noch nicht kennt:

BesonderheitErläuterung
HauptanwendungDatenübertragung und Ordnersynchronisierung
HauptvorteilEs werden nur die Änderungen übertragen, nicht die gesamte Datei.
SicherheitVerwendung von SSH für sichere Übertragungen
Hohe GeschwindigkeitAufgrund des Delta-Transfer-Algorithmus
Professionell und serverfreundlichDas beste Tool für Backup und Migration zwischen VPS

3. Grundlegende rsync-Syntax

Allgemeine Struktur rsync Ähnlich wie andere Dateiwerkzeuge wie SCP-1811 Ist:

rsync [OPTIONS] منبع مقصد

Einfaches lokales Beispiel:

  • Erstellen Sie zwei Testordner auf dem lokalen System.

  • Durchführung:

    rsync -a dir1/ dir2

    In diesem Fall nur der Inhalt dir1 Zu dir2 Es 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:

rsync -anv --delete /مسیر/منبع/ /مسیر/مقصد/
  • Option -N Oder --Trockenlauf Simuliert 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.


Wie man mit Rsync lokale und entfernte Verzeichnisse synchronisiert
Wie man mit Rsync lokale und entfernte Verzeichnisse synchronisiert

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:

rsync -a ~/local-dir/ user@remote-server:/remote/path/
  • -ADateiattribute beibehalten

  • ~/lokales-verzeichnis/Lokale Route

  • Benutzer@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:

rsync -a user@remote-server:/remote/path/ ~/local-dir/

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 --Fortschritt Und --teilweise Dies ermöglicht die Anzeige des Übertragungsfortschritts und die Fortsetzung unvollständiger Übertragungen.

Beispiel:

rsync -azP ~/local/dir/ user@remote:/remote/dir/
  • --löschen: Dateien löschen, die im Zielverzeichnis vorhanden sind, aber nicht mehr im Quellverzeichnis (geeignet für Spiegelung)

  • --ausschließen Und --enthalten: Dateien/Ordner filtern für präzisere Interaktion

  • --backup Und --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:

    crontab -e
  • Beispiel für einen täglichen Cronjob zur Synchronisierung:

    0 3 * * * /usr/bin/rsync -a --delete /var/www/html/ user@remote:/backups/html/

    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 rsync und verwenden Sie Verzeichnisse

  • Einrichtung 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 --Trockenlauf Für eine detaillierte Überprüfung

  • Unerwünschtes Löschen von DateienNur wenn wir uns absolut sicher sind --löschen Lasst uns verwenden

  • Berechtigungsfehler: mit -A Eigentumsrechte 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte Ihnen auch gefallen