Verwendung von rsync unter Linux

 

1. Übersicht über rsync

Rsync ist ein Backup-Tool zur Datenspiegelung unter Unix-ähnlichen Systemen. Dies geht aus der Benennung der Software-Remote-Synchronisierung hervor. rsync ist ein Tool zur Dateisynchronisierung und Datenübertragung unter dem Linux-System. Es verwendet den Algorithmus "rsync", um Dateien zwischen einem Client und einem Remote-Dateiserver zu synchronisieren oder Daten von einer Partition auf einer anderen im lokalen System zu sichern. Auf der Partition. Wenn während der rsync-Sicherung eine Unterbrechung der Datenübertragung auftritt, können Sie den inkonsistenten Teil nach der Wiederherstellung weiter übertragen. rsync kann vollständige oder inkrementelle Sicherungen durchführen. Seine Hauptmerkmale sind:

1. Sie können den gesamten Verzeichnisbaum und das gesamte Dateisystem spiegeln.

2. Es ist einfach, die ursprünglichen Dateiberechtigungen, die Zeit, die Soft- und Hardlinks beizubehalten. Es können keine speziellen Berechtigungen installiert werden.

3. Daten können inkrementell synchronisiert werden, die Effizienz der Dateiübertragung ist hoch, sodass die Synchronisationszeit kurz ist.

4. Sie können rcp, ssh und andere Methoden verwenden, um Dateien zu übertragen. Natürlich können Sie auch eine Verbindung über einen direkten Socket herstellen.

5. Unterstützung der anonymen Übertragung zur Erleichterung der Spiegelung von Websites usw.;

6. Verschlüsselte Übertragungsdaten zur Gewährleistung der Datensicherheit;

 

 

 

-v ist "--verbose", was die detaillierte Modusausgabe ist; -z bedeutet "--compress", dh die Daten werden während der Übertragung komprimiert;

-r bedeutet "--recursive", dh rekursiv verarbeitete Unterverzeichnisse; -t ist "--time", dh Dateizeitinformationen behalten;

-o bedeutet "Eigentümer", der zum Speichern der Dateibesitzerinformationen verwendet wird; -p ist "Dauerwellen", der zum Speichern der Dateiberechtigungen verwendet wird.

-g ist "Gruppe", die zum Verwalten der Dateigruppeninformationen verwendet wird.

--progress wird verwendet, um den Prozess der Datenspiegelsynchronisation anzuzeigen.

 

 

Die Option --delete gibt an, dass die Synchronisierung der Datenspiegelung auf der Basis des rsync-Servers durchgeführt wird, dh dass das serverseitige rsync-Verzeichnis und das Client-Verzeichnis exakt gleich bleiben.

Die Option --exclude wird verwendet, um Dateitypen auszuschließen, die nicht übertragen werden müssen.

 

 

Die Vor- und Nachteile von rsync

Im Vergleich zu den herkömmlichen CP- und Tar-Sicherungsmethoden bietet rsync die Vorteile einer hohen Sicherheit, einer schnellen Sicherung und der Unterstützung für inkrementelle Sicherungen. Durch rsync können die Datensicherungsanforderungen gelöst werden, für die keine Echtzeitanforderungen erforderlich sind. Sichern Sie beispielsweise regelmäßig Dateiserverdaten auf Der Remote-Server führt regelmäßig eine Datenspiegelung auf der lokalen Festplatte durch.

Wenn sich die Systemskala jedoch weiter ausdehnt, werden die Mängel von rsync allmählich aufgedeckt. Wenn rsync eine Datensynchronisation durchführt, müssen zunächst alle Dateien zum Vergleich gescannt und anschließend eine differenzielle Übertragung durchgeführt werden. Wenn die Datei groß ist, ist das Scannen der Datei sehr zeitaufwändig, und die geänderte Datei ist häufig ein kleiner Teil, sodass rsync eine sehr ineffiziente Methode ist. Zweitens kann rsync Daten nicht in Echtzeit überwachen und synchronisieren. Obwohl es die Synchronisierung über den Linux-Daemon auslösen kann, gibt es einen Zeitunterschied zwischen den beiden Auslöseaktionen, der zu Inkonsistenzen zwischen Server- und Clientdaten führen kann


Nach der Konfiguration des rsync-Servers müssen Sie im nächsten Schritt den Befehl rsync auf dem Client ausgeben, um die Dateien auf dem Server auf dem Client zu sichern. rsync ist ein sehr leistungsfähiges Tool, und seine Befehle verfügen auch über viele Funktionsoptionen. Wir werden die Optionen einzeln analysieren und erläutern.
Das Rsync-Befehlsformat kann die folgenden sechs Typen haben:
  rsync [OPTION] ... SRC DEST
  rsync [OPTION] ... SRC [USER @] HOST: DEST
  rsync [OPTION] ... [USER @] HOST: SRC DEST
  rsync [OPTION] ... [USER @] HOST :: SRC DEST
  rsync [OPTION] ... SRC [USER @] HOST :: DEST
  rsync [OPTION] ... rsync: // [USER @] HOST [: PORT ] / SRC [DEST]
  Entsprechend den oben genannten sechs Befehlsformaten verfügt rsync über sechs verschiedene Arbeitsmodi:
  1) Kopieren Sie lokale Dateien. Dieser Arbeitsmodus wird gestartet, wenn weder SRC- noch DES-Pfadinformationen ein einzelnes Doppelpunkt-Trennzeichen ":" enthalten. Beispiel: rsync -a / data / backup
  2) Verwenden Sie ein Remote-Shell-Programm (z. B. rsh, ssh), um den Inhalt des lokalen Computers auf den Remote-Computer zu kopieren. Dieser Modus wird eingeleitet, wenn die DST-Pfadadresse ein einzelnes Doppelpunkt-Trennzeichen ":" enthält. Beispiel: rsync -avz * .c foo: src
  3) Verwenden Sie ein Remote-Shell-Programm (z. B. rsh, ssh), um den Inhalt des Remote-Computers auf den lokalen Computer zu kopieren. Dieser Modus wird eingeleitet, wenn der SRC-Adresspfad ein einzelnes Doppelpunkttrennzeichen ":" enthält. Wie zum Beispiel: rsync -avz foo: src / bar / data
  4) Kopieren Sie Dateien vom Remote-Rsync-Server auf den lokalen Computer. Dieser Modus wird aktiviert, wenn die SRC-Pfadinformationen das Trennzeichen "::" enthalten. Beispiel: rsync -av [email protected] :: www / databaseack
  5) Kopieren Sie Dateien vom lokalen Computer auf den Remote-rsync-Server. Dieser Modus wird aktiviert, wenn die DST-Pfadinformationen das Trennzeichen "::" enthalten. Beispiel: rsync -av / databaseack [email protected] :: www
  6) Listen Sie die Dateiliste des Remotecomputers auf. Dies ähnelt der rsync-Übertragung, jedoch solange die lokalen Maschineninformationen im Befehl weggelassen werden. Wie zum Beispiel: rsync -v rsync: //172.16.78.192/www
detaillierte Erläuterung rsync folgende Parameter:
-v, --verbose ausführlichen Modus Ausgang
-q, --quiet Lite - Ausgabemodus
-c, Schalter --checksum offen zu überprüfen,
Erzwingen Sie die Überprüfung der Dateiübertragungen -a, - Archivarchivmodus. Dies bedeutet, dass Dateien rekursiv übertragen werden und alle Dateiattribute beibehalten
werden. Dies entspricht -rlptgoD -r, --recursive Rekursive Verarbeitung von Unterverzeichnissen
-R, - relative Verwenden Sie die relativen
Pfadinformationen -b, --backup, um eine Sicherung zu erstellen. Wenn also für das Ziel bereits derselbe Dateiname vorhanden ist, benennen Sie die alte Datei in ~ Dateiname um. Mit der Option --suffix können Sie verschiedene Präfixe für Sicherungsdateien angeben.
--backup-dir Speichern Sie Sicherungsdateien (z. B. ~ Dateiname) in einem Verzeichnis.
-suffix = SUFFIX Definieren Sie das Präfix der Sicherungsdatei
-u, --update Nur aktualisieren, dh alle Dateien überspringen, die bereits in der Sommerzeit vorhanden sind, und die Dateizeit ist später als die zu sichernde Datei. (Aktualisierte Dateien nicht überschreiben)
-l, --links behalten Softlinks bei
-L, --copy -links behandeln Softlinks wie normale Dateien
--copy -unsichere-Links kopieren nur Links, die außerhalb des SRC-
Pfadverzeichnisbaums zeigen --safe-links Ignorieren Sie Links, die außerhalb des Verzeichnisbaums des SRC-Pfads
verweisen. -H, --hard-links behält harte Links bei
-p, --perms behält Dateiberechtigungen bei
-o, --owner behält Dateibesitzerinformationen bei
-g, --group behält Dateien bei Information ist eine Gruppe
-D, --devices Haltevorrichtung Dateiinformationen
-t, --times hält die Datei Zeitinformationen
SICH, --sparse sparse - Dateien Platz für eine besondere Behandlung von DST speichern
-n, --dry-run Wirklichkeit , die Die Datei wird übertragen
-W, - ganze Datei kopiert die Datei ohne inkrementelle Erkennung
-x, - ein Dateisystem Überschreiten Sie nicht die Dateisystemgrenze
-B, --block-size = SIZE-Block, der vom Überprüfungsalgorithmus verwendet wird Größe, Standard ist 700 Byte
-e, --rsh = BEFEHL gibt an, rsh zu verwenden, ssh für die Datensynchronisation
--rsync-path = PATH gibt die Pfadinformationen des Befehls rsync auf dem Remote-Server an
-C, --cvs-exclude use Dieselbe Methode wie CVS ignoriert automatisch Dateien, mit denen diejenigen Dateien ausgeschlossen werden, die nicht übertragen werden sollen.
Vorhandene aktualisiert nur die Dateien, in denen bereits vorhanden ist DST-Dateien ohne Sicherung dieser neu erstellten Dateien
--delete löschen diejenigen DST SRC ist nicht in der Datei
--delete ausgeschlossenen löschen Empfangsende der gleichen Dateien , die diese Option ausgeschlossen spezifiziert werden
und dann gelöscht werden nach dem Ende des --delete-nach der Übertragung
--ignore-Fehler IO Fehler tritt auch sofort löschen
--max-delete = NUM ​​lösche höchstens NUM-Dateien
- behalte teilweise die Dateien , die aus irgendeinem Grund nicht vollständig übertragen wurden, also beschleunige die nachfolgende Übertragung erneut
- erzwinge das Löschen des Verzeichnisses, auch wenn es nicht leer ist -
numerische IDs werden dies nicht tun Der numerische Benutzer und die Gruppen-ID stimmen mit dem Benutzernamen und dem Gruppennamen
überein. --Timeout = TIME IP-Timeout-Zeit, die Einheit ist Sekunden
-I, --ignore-times überspringen diese Dateien nicht mit derselben Zeit und Länge
--size-only, wenn Wenn Sie entscheiden, ob eine Datei
gesichert werden soll, überprüfen Sie einfach die Dateigröße ohne Berücksichtigung der Dateizeit. --Modify-window = NUM ​​Bestimmen Sie, ob die Datei dasselbe Zeitstempelfenster hat. Der Standardwert ist 0
-T --temp-dir = DIR in DIR Temporäre Dateien erstellen
--compare-dest = DIR Vergleichen Sie auch die Dateien in DIR, um festzustellen, ob Sie eine Sicherung durchführen müssen.
-P entspricht --partial
--progress zeigt den Sicherungsprozess an. -Z
, --compress komprimiert die Sicherungsdateien während der Übertragung
--exc lude = PATTERN gibt den Modus zum Ausschließen von Dateien an
, die nicht übertragen werden müssen --include = PATTERN gibt den Modus zum Übertragen von Dateien an, die ohne Ausschluss übertragen werden müssen
--exclude-from = FILE Dateien im angegebenen Muster in FILE ausschließen
--include-from = FILE Dateien nicht ausschließen, die mit dem angegebenen Muster in FILE übereinstimmen -
Informationen
zur Versionsdruckversion --Adresse an eine bestimmte Adresse binden
--config = FILE angeben Andere Konfigurationsdateien verwenden nicht die Standarddatei rsyncd.conf.
--Port = PORT Geben Sie einen anderen rsync-Dienstport an.
--Blocking-io Verwenden Sie blockierende
E / A- Statistiken für die Remote-Shell, um den Übertragungsstatus einiger Dateien
anzugeben. - Fortschritt bei der Übertragung Echtzeit-Übertragungsprozess
--log-format = formAT Protokolldateiformat angeben
--password-file = FILE Kennwort von FILE
abrufen --bwlimit = KBPS-E / A-Bandbreite begrenzen, KByte pro Sekunde
-h, --help-Hilfeinformationen anzeigen
 

Verwenden Sie im Allgemeinen die Option azv

Veröffentlicht 19 Originalartikel · Gelobt 4 · 170.000 Aufrufe +

Ich denke du magst

Origin blog.csdn.net/u011250186/article/details/105657820
Empfohlen
Rangfolge