Hervorragende Software und praktische Tutorials
RsyncDetaillierte Erklärung
1. Was ist Rsync
Rsync(Remote-Synchronisation) ist ein Tool zur Remote-Datensynchronisierung, mit dem Dateien schnell zwischen mehreren Hosts über LAN/WAN synchronisiert werden können. Rsync verwendet den sogenannten „Rsync-Algorithmus“, um Dateien zwischen lokalen und Remote-Hosts zu synchronisieren. Dieser Algorithmus überträgt nur die verschiedenen Teile der beiden Dateien, anstatt jedes Mal die gesamte Datei zu übertragen, wodurch die Geschwindigkeit recht hoch ist.
Rsync war ursprünglich ein Tool, das RCP ersetzte. Es wird aktuell von rsync.samba.org gepflegt, daher ähnelt das Format der Datei rsync.conf der Hauptkonfigurationsdatei von Samba. Rsync kann über rsh oder ssh verwendet und auch im Daemon-Modus ausgeführt werden. Im Daemon-Modus öffnet der Rsync-Server Port 873 und wartet auf die Verbindung des Clients. Beim Verbindungsaufbau prüft der Rsync-Server, ob das Passwort übereinstimmt. Ist die Passwortüberprüfung erfolgreich, kann die Dateiübertragung beginnen. Nach der ersten Verbindung wird die gesamte Datei einmal übertragen, sodass künftig nur noch inkrementelle Sicherungen erforderlich sind.
Rsync unterstützt die meisten Unix-ähnlichen Systeme, egal obLinux, Solaris und BSD. Darüber hinaus ist esFensterEs gibt auch entsprechende Versionen für die Plattform, beispielsweise cwRsync und Sync2NAS.
Die grundlegenden Funktionen von Rsync sind wie folgt:
- Der gesamte Verzeichnisbaum und das Dateisystem können gespiegelt und gespeichert werden;
- Es ist einfach, die ursprünglichen Dateiberechtigungen, Zeit, Software und Hardlinks usw. beizubehalten.
- Für die Installation sind keine besonderen Berechtigungen erforderlich.
- Optimierter Prozess, hohe Dateiübertragungseffizienz;
- Sie können rsh, ssh und andere Methoden zum Übertragen von Dateien verwenden oder eine direkte Socket-Verbindung nutzen.
- UnterstützunganonymÜbertragung.
2. Rsync-Synchronisationsalgorithmus
Der Grund, warum Rsync Dateien sehr schnell synchronisieren kann, liegt darin, dass der „Rsync-Synchronisierungsalgorithmus“ die zu sichernden Daten in sehr kurzer Zeit berechnen kann. Die Beschreibung des Rsync-Synchronisierungsalgorithmus lautet wie folgt:
Angenommen, die ähnlichen Dateien A und B sollen zwischen zwei Computern, Nr. 1 und Nr. 2, synchronisiert werden, wobei Nr. 1 Zugriff auf Datei A und Nr. 2 auf Datei B hat. Die Netzwerkbandbreite zwischen den Hosts Nr. 1 und Nr. 2 ist ebenfalls sehr gering. Der rsync-Algorithmus wird dann in den folgenden fünf Schritten ausgeführt:
- Nummer 2 teilt Datei B in eine Reihe nicht überlappender Datenblöcke mit einer festen Größe von S Bytes auf, wobei der letzte Block kleiner als S sein kann.
- Nr. 2 führt zwei Prüfungen für jeden segmentierten Datenblock durch: eine ist eine 32-Bit-Rolling-Weak-Prüfung und die andere ist eine 128-Bit-MD4-Strong-Prüfung.
- Nr. 2 sendet diese Überprüfungsergebnisse an Nr. 1.
- Nr. 1 durchsucht alle Datenblöcke der Größe S in Datei A (der Offset kann beliebig sein und muss kein Vielfaches von S sein), um einen Datenblock mit der gleichen schwachen und starken Prüfsumme wie ein Block in Datei B zu finden. Diese Arbeit kann mit Hilfe der Funktion der rollierenden Prüfsumme schnell erledigt werden.
- Nr. 1 sendet Nr. 2 eine Reihe von Anweisungen, um ein Backup der Datei A auf Nr. 2 zu erstellen. Jede Anweisung ist dabei entweder ein Beweis dafür, dass Datei B bereits einen bestimmten Datenblock ohne erneute Übertragung besitzt, oder ein Datenblock, der definitiv mit keinem Datenblock in Datei B übereinstimmt.
3. Rsync-Parameterbeschreibung
3.1 rsyncd.conf-Konfigurationsdatei
Globale Parameter
Alle Parameter vor [module] in der Datei sind globale Parameter. Natürlich können Sie auch Modulparameter im globalen Parameterteil definieren. In diesem Fall ist der Wert des Parameters der Standardwert für alle Module.
Port: Gibt die vom Hintergrundprogramm verwendete Portnummer an. Der Standardwert ist 873.
motd-Datei: Der Parameter „motd-Datei“ wird verwendet, um eine Nachrichtendatei anzugeben.ServerDer Inhalt dieser Datei wird dem Client angezeigt. Standardmäßig ist keine motd-Datei vorhanden.
Protokolldatei: "Protokolldatei" gibt die Protokolldatei von rsync an, anstatt das Protokoll an syslog zu senden. Beispielsweise kann dies als "/var/log/rsyncd.log" angegeben werden.
PID-Datei: Gibt die PID-Datei von rsync an, normalerweise angegeben als „/var/run/rsyncd.pid“.
Syslog-Funktion: Gibt die Meldungsebene an, wenn rsync Protokollmeldungen an Syslog sendet. Gängige Meldungsebenen sind: uth, authpriv, cron, Daemon, FTP, Kern, LPR, Mail, News, Sicherheit, Syslog, Benutzer, UUCP, Local0, Local1, Local2, Local3, Local4, Local5, Local6 und Local7. Der Standardwert ist Daemon.
Modulparameter
Es definiert hauptsächlich, welches Verzeichnis des Servers synchronisiert werden soll. Das Format muss "[Modul]" sein. Dieser Name wird vom rsync-Client angezeigt und ähnelt dem vom Samba-Server bereitgestellten Freigabenamen. Die Daten, die der Server tatsächlich synchronisiert, werden durch den Pfad angegeben. Je nach Bedarf können mehrere Module angegeben werden. Folgende Parameter können im Modul definiert werden:
Kommentar: Weisen Sie dem Modul eine Beschreibung zu. Diese Beschreibung wird Clients zusammen mit dem Modulnamen angezeigt, wenn sie eine Verbindung herstellen, um eine Liste der Module abzurufen. Standardmäßig ist keine Beschreibung definiert.
Pfad: Gibt den Verzeichnisbaumpfad für die Sicherung dieses Moduls an. Dieser Parameter ist erforderlich.
use chroot: Wenn "use chroot" auf true gesetzt ist, führt rsync vor der Dateiübertragung zunächst einen Chroot-Vorgang in das durch den Pfadparameter angegebene Verzeichnis durch. Dies dient der zusätzlichen Sicherheit, hat jedoch den Nachteil, dass Root-Rechte erforderlich sind und Verzeichnisdateien, auf die symbolische Links nach außen verweisen, nicht gesichert werden können. Der Standardwert von chroot ist true.
uid: Diese Option gibt die UID an, die der Daemon beim Übertragen von Dateien verwenden soll. In Verbindung mit der Option gid kann sie bestimmen, auf welche Dateien zugegriffen werden kann und welche Berechtigungen sie haben. Der Standardwert ist „nobody“.
gid: Diese Option gibt die GID an, die der Daemon haben soll, wenn dieses Modul Dateien überträgt. Der Standardwert ist „nobody“.
Max. Verbindungen: Gibt die maximale Anzahl gleichzeitiger Verbindungen für dieses Modul zum Schutz des Servers an. Verbindungsanfragen, die das Limit überschreiten, werden benachrichtigt und später erneut versucht. Der Standardwert ist 0, d. h. es gibt kein Limit.
Liste: Diese Option gibt an, ob das Modul aufgelistet werden soll, wenn ein Client eine Liste der verfügbaren Module anfordert. Wenn diese Option auf „false“ gesetzt ist, können versteckte Module erstellt werden. Der Standardwert ist „true“.
Nur lesen: Diese Option legt fest, ob Clients Dateien hochladen dürfen. Bei „true“ schlägt jeder Upload fehl. Bei „false“ und den Lese- und Schreibberechtigungen des Serververzeichnisses ist der Upload zulässig. Der Standardwert ist „true“.
Ausschließen: Dient dazu, mehrere Dateien oder Verzeichnisse (relative Pfade) durch Leerzeichen getrennt anzugeben und der Ausschlussliste hinzuzufügen. Dies entspricht der Verwendung von --exclude im Client-Befehl zur Angabe des Musters. Ein Modul kann nur eine Ausschlussoption angeben. Beachten Sie jedoch, dass diese Option gewisse Sicherheitsrisiken birgt. Es ist sehr wahrscheinlich, dass der Client die Ausschlussliste umgeht. Um sicherzustellen, dass bestimmte Dateien nicht aufgerufen werden können, verwenden Sie diese Option am besten in Kombination mit der Option uid/gid.
Ausschließen aus: Gibt einen Dateinamen an, der die Ausschlussmusterdefinition enthält. Der Server liest die Ausschlusslistendefinition aus dieser Datei.
include: Gibt an, dass Dateien oder Verzeichnisse, die die Anforderungen erfüllen, nicht ausgeschlossen werden. Dies entspricht der Verwendung von --include zur Angabe des Musters im Client-Befehl. Durch die Kombination von include und exclude lassen sich komplexe Einschluss-/Ausschlussregeln definieren.
include from: Gibt einen Dateinamen an, der die Definition des Include-Musters enthält. Der Server liest die Include-Listendefinition aus dieser Datei.
Auth-Benutzer: Diese Option gibt eine Liste von Benutzernamen an, getrennt durch Leerzeichen oder Kommas. Nur diese Benutzer dürfen sich mit dem Modul verbinden. Die hier angegebenen Benutzer haben nichts mit Systembenutzern zu tun. Ist „Auth-Benutzer“ gesetzt, wird die Verbindungsanfrage des Clients an das Modul von rsync zur Identitätsprüfung abgefragt. Das hier verwendete Challenge/Response-Authentifizierungsprotokoll. Benutzername und Passwort werden im Klartext in der durch die Option „Geheimnisdatei“ angegebenen Datei gespeichert. Standardmäßig können Sie sich ohne Passwort mit dem Modul verbinden (d. h. im anonymen Modus).
Secrets-Datei: Diese Option gibt eine Datei mit Benutzernamen-Passwort-Paaren an. Diese Datei wird nur verwendet, wenn „Auth Users“ definiert ist. Jede Zeile der Datei enthält ein Benutzernamen-Passwort-Paar. Passwörter sollten grundsätzlich nicht länger als 8 Zeichen sein. Es gibt keinen Standardnamen für die sichere Datei, daher müssen Sie einen angeben (z. B. /etc/rsyncd.passwd). Hinweis: Die Berechtigungen dieser Datei müssen 600 sein, sonst kann der Client keine Verbindung zum Server herstellen.
Strenge Modi: Diese Option gibt an, ob die Berechtigungen der Kennwortdatei überwacht werden sollen. Wenn der Optionswert „true“ lautet, kann nur der Benutzer, der den rsync-Server betreibt, auf die Kennwortdatei zugreifen. Andere Benutzer haben keinen Zugriff auf die Datei. Der Standardwert ist „true“.
hosts allow: Diese Option gibt an, welche IP-Clients eine Verbindung zu diesem Modul herstellen dürfen. Clientmodus-Definitionen können folgende Formen haben:
Eine einzelne IP-Adresse, zum Beispiel: 192.167.0.1
Das gesamte Netzwerksegment, zum Beispiel: 192.168.0.0/24 oder 192.168.0.0/255.255.255.0
Mehrere IPs oder Netzwerksegmente müssen durch Leerzeichen getrennt werden, und "*" bedeutet alle. Standardmäßig dürfen alle Hosts eine Verbindung herstellen.
hosts deny: Gibt an, welche Rechner keine Verbindung zum rsync-Server herstellen dürfen. Dies kann über die Definition „hosts allow“ festgelegt werden. Standardmäßig ist keine Definition „hosts deny“ vorhanden.
Fehler ignorieren: Gibt an, dass rsyncd E/A-Fehler auf dem Server ignoriert, wenn er entscheidet, ob der Löschvorgang während der Übertragung ausgeführt werden soll. Im Allgemeinen überspringt rsync den Vorgang --delete bei einem E/A-Fehler, um schwerwiegende Probleme durch temporäre Ressourcenengpässe oder andere E/A-Fehler zu vermeiden.
Nicht lesbare Dateien ignorieren: Gibt an, dass der rysnc-Server Dateien, auf die der Benutzer keine Zugriffsrechte hat, vollständig ignoriert. Dies ist sinnvoll, wenn sich im zu sichernden Verzeichnis Dateien befinden, auf die der Sicherungsbenutzer keinen Zugriff haben soll.
Sperrdatei: Gibt die Sperrdatei an, die den Parameter „Max. Verbindungen“ unterstützt. Der Standardwert ist /var/run/rsyncd.lock.
Übertragungsprotokollierung: Bewirkt, dass der Rsync-Server FTP-formatierte Dateien verwendet, um Download- und Upload-Vorgänge in eigenen separaten Protokollen aufzuzeichnen.
Protokollformat: Mit dieser Option können Benutzer die Felder der Protokolldatei bei der Übertragungsprotokollierung anpassen. Das Format ist einZeichenfolgeDie folgenden Formatbezeichner sind verfügbar:
%h Remote-Hostname
%a Remote-IP-Adresse
%l Dateilänge in Zeichen
%p Die Prozess-ID dieser Rsync-Sitzung
%o Operationstyp: „senden“ oder „empfangen“
%f Dateiname
%P-Modulpfad
%m Modulname
%t Aktuelle Uhrzeit
%u Authentifizierungsbenutzername (null für anonym)
%b Anzahl der tatsächlich übertragenen Bytes
%c Beim Senden einer Datei wird in diesem Feld die Prüfsumme der Datei aufgezeichnet
Das Standardprotokollformat lautet: „%o %h [%a] %m (%u) %f %l“. Normalerweise wird „%t [%p] “ am Anfang jeder Zeile hinzugefügt. Im Quellcode ist auch ein Perl-Skript namens rsyncstats verfügbar, um Protokolldateien in diesem Format zu zählen.
Timeout: Mit dieser Option können Sie das vom Client angegebene IP-Timeout überschreiben. Dadurch wird sichergestellt, dass der Rsync-Server nicht ewig auf einen abgestürzten Client wartet. Das Timeout wird in Sekunden angegeben. 0 bedeutet, dass kein Timeout definiert ist. Dies ist der Standardwert. Für anonyme Rsync-Server ist 600 ideal.
Optionen ablehnen: Mit dieser Option können Sie eine Liste von Befehlsparametern definieren, die Clients für dieses Modul nicht verwenden dürfen. Sie müssen hier den vollständigen Befehlsnamen verwenden, nicht die Abkürzung. Wird ein Befehl abgelehnt, meldet der Server eine Fehlermeldung und beendet das Programm. Wenn Sie die Komprimierung verhindern möchten, verwenden Sie „dont compress = *“.
Nicht komprimieren: Wird verwendet, um Dateien anzugeben, die vor der Übertragung nicht komprimiert werden. Der Standardwert ist *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
3.2 Rsync-Befehl
Nachdem die Rsync-Serverkonfiguration abgeschlossen ist, besteht der nächste Schritt darin, den Rsync-Befehl auf dem Client auszuführen, um die Dateien auf dem Server auf dem Client zu sichern. Rsync ist ein sehr leistungsfähiges Tool, dessen Befehle zahlreiche funktionale Optionen bieten. Im Folgenden werden die Optionen einzeln analysiert und erläutert.
Das Befehlsformat von Rsync kann die folgenden sechs sein:
- rsync [OPTION]... SRC DEST
- rsync [OPTION]... SRC [BENUTZER@]HOST:ZIEL
- rsync [OPTION]... [BENUTZER@]HOST:QUELLE ZIEL
- rsync [OPTION]... [BENUTZER@]HOST::SRC ZIEL
- rsync [OPTION]... SRC [BENUTZER@]HOST::ZIEL
- rsync [OPTION]... rsync://[BENUTZER@]HOST[:PORT]/SRC [ZIEL]
Entsprechend den oben genannten sechs Befehlsformaten verfügt rsync über sechs verschiedene Arbeitsmodi:
- Lokale Dateien kopieren. Dieser Modus ist aktiviert, wenn weder die SRC- noch die DES-Pfadinformationen einen Doppelpunkt (":") als Trennzeichen enthalten. Beispiel: rsync -a /data /backup
- Verwenden Sie ein Remote-Shell-Programm (z. B. rsh oder ssh), um den Inhalt des lokalen Rechners auf den Remote-Rechner zu kopieren. Dieser Modus ist aktiviert, wenn die DST-Pfadadresse einen Doppelpunkt (":") als Trennzeichen enthält. Beispiel: rsync -avz *.c foo:src
- Verwenden Sie ein Remote-Shell-Programm (z. B. rsh oder ssh), um den Inhalt des Remote-Rechners auf den lokalen Rechner zu kopieren. Dieser Modus wird aktiviert, wenn der SRC-Adresspfad einen Doppelpunkt (":") als Trennzeichen enthält. Beispiel: rsync -avz foo:src/bar /data
- Kopiert Dateien von einem entfernten Rsync-Server auf den lokalen Rechner. Dieser Modus ist aktiviert, wenn der SRC-Pfad Trennzeichen "::" enthält. Beispiel: rsync -av root@172.16.78.192::www/databack
- Kopiert Dateien vom lokalen Rechner auf den Remote-Rsync-Server. Dieser Modus ist aktiviert, wenn die DST-Pfadinformationen Trennzeichen "::" enthalten. Beispiel: rsync -av /databack root@172.16.78.192::www
- Listen Sie die Dateien auf dem Remote-Rechner auf. Dies ähnelt der rsync-Übertragung, lässt jedoch die lokalen Rechnerinformationen im Befehl weg. Beispiel: rsync -v rsync://172.16.78.192/www
Die spezifische Erklärung der rsync-Parameter lautet wie folgt:
- -v, --verbose Ausgabe im ausführlichen Modus
- -q, --quiet Leiser Ausgabemodus
- -c, --checksum Schalten Sie den Prüfsummenschalter ein, um eine Prüfsumme für die Dateiübertragung zu erzwingen
- -a, --archive Archivmodus, d. h. Dateien werden rekursiv übertragen und alle Dateiattribute werden beibehalten, was gleichbedeutend mit -rlptgoD ist.
- -r, --recursive Unterverzeichnisse rekursiv verarbeiten
- -R, --relative Relative Pfadinformationen verwenden
- -b, --backup erstellt eine Sicherung. Das bedeutet, dass die alte Datei in ~filename umbenannt wird, falls derselbe Dateiname bereits für das Ziel existiert. Mit der Option --suffix können Sie ein anderes Präfix für die Sicherungsdatei angeben.
- --backup-dir Speichert die Sicherungsdatei (z. B. ~Dateiname) im Verzeichnis.
- -suffix=SUFFIX definiert das Präfix der Sicherungsdatei
- -u, --update Nur aktualisieren, d. h. alle Dateien überspringen, die bereits in der Sommerzeit vorhanden sind und deren Dateizeit später ist als die zu sichernden Dateien. (Aktualisierte Dateien nicht überschreiben.)
- -l, --links Softlinks behalten
- -L, --copy-links Softlinks wie normale Dateien behandeln
- --copy-unsafe-links Kopiert nur Links, die außerhalb des SRC-Pfadverzeichnisbaums zeigen
- --safe-links Ignoriert Links, die außerhalb des SRC-Pfadverzeichnisbaums zeigen
- -H, --hard-links Hardlinks behalten
- -p, --perms behält Dateiberechtigungen bei
- -o, --owner behält die Informationen zum Dateieigentümer bei
- -g, --group behält Dateigruppeninformationen bei
- -D, --devices behalten Gerätedateiinformationen
- -t, --times speichert Dateizeitinformationen
- -S, --sparse Spezielle Behandlung von Sparse-Dateien, um Platz in DST zu sparen
- -n, --dry-run zeigt an, welche Dateien übertragen werden
- -W, --whole-file Datei kopieren ohne inkrementelle Erkennung
- -x, --one-file-system Dateisystemgrenzen nicht überschreiten
- -B, --block-size=SIZE Die vom Verifizierungsalgorithmus verwendete Blockgröße, der Standardwert beträgt 700 Bytes
- -e, --rsh=COMMAND gibt an, dass rsh oder ssh für die Datensynchronisierung verwendet werden soll
- --rsync-path=PATH gibt die Pfadinformationen des rsync-Befehls auf dem Remote-Server an
- -C, --cvs-exclude Verwenden Sie dieselbe Methode wie CVS, um Dateien automatisch zu ignorieren. Wird verwendet, um Dateien auszuschließen, die Sie nicht übertragen möchten
- --existing aktualisiert nur Dateien, die bereits in DST vorhanden sind, und sichert keine neu erstellten Dateien
- --delete Löscht Dateien in DST, die nicht in SRC sind
- --delete-excluded Löscht auch die Dateien auf der Empfangsseite, die von dieser Option ausgeschlossen sind
- --delete-after Löschen, nachdem die Übertragung abgeschlossen ist
- --ignore-errors Löschen, auch wenn IO-Fehler auftreten
- --max-delete=NUM Löscht höchstens NUM Dateien
- --partial behält Dateien bei, die aus irgendeinem Grund nicht vollständig übertragen wurden, und beschleunigt so nachfolgende erneute Übertragungen
- --force Erzwingt das Löschen eines Verzeichnisses, auch wenn es nicht leer ist
- --numeric-ids Numerische Benutzer- und Gruppen-IDs nicht mit Benutzer- und Gruppennamen abgleichen
- --timeout=TIME IP-Timeout in Sekunden
- -I, --ignore-times Überspringe keine Dateien mit gleicher Zeit und Länge
- --size-only Wenn Sie entscheiden, ob eine Datei gesichert werden soll, achten Sie nur auf die Dateigröße, ohne die Dateizeit zu berücksichtigen
- --modify-window=NUM Das Zeitstempelfenster, das verwendet wird, um zu bestimmen, ob die Dateien die gleiche Zeit haben, der Standardwert ist 0
- -T --temp-dir=DIR erstellt temporäre Dateien in DIR
- --compare-dest=DIR Vergleichen Sie auch die Dateien in DIR, um zu entscheiden, ob sie gesichert werden müssen
- -P ist gleichbedeutend mit --partial
- --progress Zeigt den Sicherungsfortschritt an
- -z, --compress komprimiert die Sicherungsdateien während der Übertragung
- --exclude=MUSTER gibt das Muster der Dateien an, die nicht übertragen werden müssen
- --include=MUSTER gibt das Dateimuster an, das nicht ausgeschlossen und übertragen werden soll
- --exclude-from=DATEI schließt Dateien mit dem angegebenen Muster in DATEI aus
- --include-from=FILE Schließt keine Dateien aus, die dem durch FILE angegebenen Muster entsprechen
- --version Versionsinformationen ausgeben
- --address An eine bestimmte Adresse binden
- --config=FILE gibt eine andere Konfigurationsdatei anstelle der Standarddatei rsyncd.conf an
- --port=PORT gibt einen anderen rsync-Dienstport an
- --blocking-io Blockierende E/A für Remote-Shell verwenden
- -stats gibt den Übertragungsstatus bestimmter Dateien an
- --progress Zeigt den Fortschritt der Übertragung während der Übertragung an
- --log-format=formAT Geben Sie das Protokolldateiformat an
- --password-file=DATEI: Passwort aus DATEI holen
- --bwlimit=KBPS E/A-Bandbreite begrenzen, KBytes pro Sekunde
- -h, --help Hilfeinformationen anzeigen
Konfiguration von rsync unter Linux
Rsync 3.2.4 veröffentlicht
15. April 2022
Rsync Version 3.2.4 wurde veröffentlicht. Eine weitere typische Version mit Fehlerbehebungen und einigen Verbesserungen. Sie enthält außerdem die mitgelieferte zlib 1.2.8 Sicherheitsfixes , die in Ihrer speziellen Build-Konfiguration verwendet werden können oder nicht.
Beachten:Jetzt gibt esEin Patch behebt die Konfigurationsprüfung auf "signed char", wenn "-pedantic-errors" aktiv ist. Dies funktioniert auf Systemen, auf denen "char" standardmäßig auf "unsigned char" gesetzt ist (z. B. ARM-Systeme) und stellt die volle Effizienz des rsync-Algorithmus wieder her (ohne den Patch würde die Übertragung mehr Literaldaten senden, als nach passenden lokalen Daten suchen).
Siehe auch3.2.4 Nachrichten Siehe das ausführliche Änderungsprotokoll. Die neuesten Manpages finden Sie auch hier:
Das Quell-Tarball ist hier verfügbar: rsync-3.2.4.tar.gz (Zeichen), der Tarball des Verzeichnisses „patch“ wird in einer separaten Datei verteilt: rsync-patches-3.2.4.tar.gz (Zeichen), und der Diff für Version 3.2.2 ist hier verfügbar: rsync-3.2.3-3.2.4.diffs.gz (Zeichen).
rsync-Serverkonfiguration
- Installieren Sie rsync kurz
- Ändern Sie die Konfigurationsdatei Vim etc/rsyncd.conf
uid=root
gid=root
Max. Verbindungen = 4
verwenden Sie chroot=no
Protokolldatei=/var/log/rsyncd.log
pid-Datei=/var/run/rsyncd.pid
Sperrdatei=/var/run/rsyncd.lock
Geheimnisse Datei=/etc/rsyncd.pwd
Hosts erlauben = 10.10.0.200
Hosts verweigern = 0.0.0.0/0
[oa]
Pfad=/home/sxit/appbak
Kommentar = Sicherungsdatei
Fehler ignorieren
Nur lesen = nein
Liste = ja
Authentifizierungsbenutzer = root
- Erstellen Sie eine pwd-Datei und ändern Sie die Dateiberechtigungen
Vim rsyncd.pwd
root:Passwort
Chmod 600 rsyncd.pwd
- Starten Sie /usr/bin/rsync –daemon --config=/etc/rsyncd.conf. Möglicherweise sind Root-Rechte erforderlich.
(Überprüfen Sie die Dateien /etc/init.d/rsyncd und /etc/xinetd.d/rsync, um festzustellen, ob der Dienst von einem Super-Daemon oder einem unabhängigen Prozess gestartet wird: Service xinetd start / service rsyncd start)
Rsync10.10.0.200-Clientkonfiguration
- Erstellen Sie eine Datei zum Speichern von Passwörtern
Vim /etc/rsyncd.pwd
Passwort
Chmod 600 rsyncd.pwd
- Serverdaten synchronisieren /usr/bin/rsync –vazp –progress –password-file=/etc/rsyncd.pwd root@10.10.1.3::oa /home1/sxit/appbak (lokales Speicherverzeichnis)
- Diesen Befehl können Sie in den Plan aufnehmen und regelmäßig ausführen.
Vim /etc/crontab
01 04 * * * root /usr/bin/rsync -vzau --progress --password-file=/etc/rsyncd.pwd root@10.10.1.3::oa /home1/sxit/appbak
rsyncexistierenFensterKonfiguration unter
Rsync-Serverkonfiguration
- Installieren Sie rsync
Offizielle rsync-Site:
https://rsync.samba.org/
[ WINDOWS RSYNC Server ]
https://itefix.net/dl/free-software/cwrsync_6.2.4_x64_free.zip
https://itefix.net/dl/free-software/cwrsync_5.5.0_x86_free.zip
wählenInstallationspfad E:\cwRsyncServer, Hinweis: rsync ist ein Wrapper für cgywin unter Windows
Während der Installation führt Rsync Folgendes aus:
a. Erstellen Sie einen neuen Benutzer namens SvcwRsync und weisen Sie ihm den Administratorstatus zu. Ein Passwort wird generiert.
b. Legen Sie die Berechtigungen für das Installationsverzeichnis E:\cwRsyncServer fest. Ändern Sie die Berechtigungen bitte nicht selbst.
c. Dienst RsyncServer erstellen
In niedrigeren Versionen müssen Sie die obigen Schritte möglicherweise manuell ausführen und den Dienst wie unten gezeigt manuell erstellen, aber hier sind alle drei Schritte des Installationsprogramms bereits ausgeführt.
cygrunsrv.exe -I "Rsync" -p /cygdrive/d/cwRsyncServer/bin/rsync.exe -a "--config=/cygdrive/d/cwRsyncServer/etc/rsyncd.conf --daemon --no-detach"
-f "Rsync" -u Administrator -w 123456
- Ändern Sie die Konfigurationsdatei conf
benutze chroot = false
strenge Modi = falsch
Hosts erlauben = 10.10.1.3
Protokolldatei = rsyncd.log
PID-Datei = rsyncd.pid
Geheimnisdatei = /cygdrive/e/cwRsyncServer/etc/rsyncd.txt
# Moduldefinitionen
# Denken Sie an die Cygwin-Namenskonventionen: c:\work wird zu /cygwin/c/work
#
[Mail]
Pfad = /cygdrive/d/MDaemon/Benutzer
schreibgeschützt = falsch
Fehler ignorieren
Authentifizierungsbenutzer = root
Übertragungsprotokollierung = ja
- Erstellen Sie ein Konto und weisen Sie Berechtigungen zu
In der Konfigurationsdatei verwende ich das Root-Konto. Daher muss ich ein neues Root-Konto erstellen, ein Kennwort konfigurieren, das Root-Konto zur Administratorgruppe hinzufügen und dem Root-Konto Vollzugriff in d/MDaemon/Benutzer gewähren.
- Erstellen Sie eine TXT-Datei
root:Passwort
- Starten des Dienstes
Starten Sie den rsyncserver-Dienst im Dienst und stellen Sie ihn so ein, dass er automatisch startet. Wenn alles normal läuft, können Sie sehen, dass Port 873 lauscht
Rsync-Client-Konfiguration
- Erstellen Sie eine neue Kennwortspeicherdatei
Vim /etc/rsync.pwd
Passwort
Chmod 600 rsync.pwd
2./usr/bin/rsync –auv –progress –password-file=/etc/rsync.pwd root@10.10.3.1::mail /home/maiusers (ohne Parameter Z kann eine Verbindung hergestellt, aber keine Dateien übertragen werden)