So richten Sie den RSYNC -Daemon unter Linux ein
- 1857
- 294
- Lana Saumweber
In einem früheren Artikel haben wir einige grundlegende Beispiele für die Verwendung gesehen rsync
unter Linux, um Daten effizient zu übertragen. Wie wir gesehen haben, können wir sowohl eine Remote -Shell als auch eine Remote -Shell verwenden, um Daten mit einem Remote -Computer zu synchronisieren ssh
oder der rsync Daemon
. In diesem Artikel konzentrieren wir uns auf die letztere Option und sehen, wie man installiert und konfiguriert ist rsyncd
Bei einigen der am häufigsten verwendeten Linux -Verteilungen.
In diesem Tutorial lernen Sie:
- So installieren und konfigurieren Sie den RSYNC -Daemon
Softwareanforderungen und Konventionen verwendet
Kategorie | Anforderungen, Konventionen oder Softwareversion verwendet |
---|---|
System | Verteilungsunabhängige |
Software |
|
Andere | Es sind keine besonderen Anforderungen erforderlich, um diesem Tutorial zu folgen |
Konventionen | # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können |
Installation
Installation der rsync Daemon
ist wirklich einfach, da das Paket und seine Abhängigkeiten standardmäßig in den Repositories der Hauptlinux -Verteilungen verfügbar sind. An Debian
Und Archlinux
, Die Dateien im Zusammenhang mit dem RSYNC -Daemon sind enthalten rsync
Paket, also müssen wir nur Letzteres installieren. Auf Debian können wir den APT -Paketmanager verwenden:
$ sudo apt-Get Installieren Sie RSYNC
Auf Archlinux verwenden wir stattdessen Pacman:
$ sudo pacman -s rsync
Auf Verteilungen wie Fedora stattdessen, rsyncd
, Der RSYNC -Daemon wird in seinem eigenen Paket verteilt, rsync-daemon
. In jüngsten Versionen der Verteilung können wir das verwenden, um sie zu installieren DNF
Paket-Manager. Das Hauptpaket von RSYNC wird als Abhängigkeit installiert:
$ sudo dnf installieren rsync-daemon
Die RSYNCD -Konfigurationsdatei
Einmal rsyncd
ist installiert, wir können es mit dem konfigurieren /etc/rsyncd.Conf
Datei. Die Datei ist bereits in den Paketen Archlinux und Fedora enthalten, während sie bei Debian von Grund auf neu erstellt werden muss. Hier ist der Inhalt der Datei auf Fedora:
# /etc /rsyncd: Konfigurationsdatei für den RSYNC -Daemon -Modus # siehe RSYNCD.Conf Man -Seite für weitere Optionen. # Konfigurationsbeispiel: # uid = nobel # gid = nobod.PID # exklued = Lost+Found/ # Übertragungsprotokolling = yes # timeout = 900 # Ignorieren Sie nicht readable = yes # dont compress = *.gz *.TGZ *.Reißverschluss *.z *.Z *.Drehzahl *.Deb *.BZ2 # [ftp] # path = /home /ftp # comment = ftp Exportbereich
Alle Parameter werden kommentiert und als Konfigurationsbeispiel angezeigt: Sie stellen einen guten Ausgangspunkt für unsere Diskussion dar. Das erste, was wir bemerken müssen, ist, wie ein RSYNCD Modul
ist definiert:
[FTP] PATH = /HOME /FTP Kommentar = FTP -Exportbereich
Ein Modul ist in einer „Strophe“ definiert, die in diesem Fall mit der Deklaration des Modulnamens zwischen quadratischen Klammern beginnt [FTP]
. Ein Modul ist einem Verzeichnis im Dateisystem zugeordnet, das mit dem angegeben ist Weg
Streit. Alle in der Strophe bereitgestellten Parameter sind lokal
, Sie werden also nur auf das zugehörige Modul angewendet; Einstellungen vor Strophen sind vorhanden global
. Schauen wir uns einige von ihnen kurz an.
Globale Parameter
Wie wir gerade sagten, sind globale Parameter diejenigen, die zu Beginn der definiert sind /etc/rsyncd.Conf
Datei vor einer Moduldefinition oder optional in a [global]
Abschnitt. Hier werden wir einige der interessantesten besprechen.
Der Parameter „PID -Datei“
Dieser Parameter wird verwendet, um den Pfad einer Datei anzugeben, in der die RSYNCD PID
(Prozess -ID) wird geschrieben. Standardmäßig wird der Dämon -Start abgebrochen, wenn die angegebene Datei bereits vorhanden ist. Es ist möglich, dieses Verhalten zu ändern und die Datei stattdessen überschrieben zu lassen, indem der RSYNC -Daemon mit dem starten wird --dparam = pid -file = Datei
Möglichkeit.
Der Parameter "Port"
Durch die Verwendung dieses globalen Parameters können wir einen alternativen Port für den RSYNC -Daemon angeben. Der Standard ist TCP
Port 873. Diese Option kann beim Start des Daemons überschrieben werden, indem die Verwendung der verwendet wird --Hafen
Möglichkeit.
Der Parameter "Adresse"
Wir können den globalen Gebrauch nutzen Adresse
Parameter Um die Adresse anzugeben, wird der RSYNC -Daemon hören. Die in der Datei angegebene Adresse kann überschrieben werden, indem der Daemon mit dem starten wird --Adresse
Option, die gewünschte Adresse als Argument angeben.
Zusätzlich zu den oben gesehenen Parametern im globalen Abschnitt können wir auch angeben Modulparameter
. Wenn wir dies tun, werden die angegebenen Parameterwerte die Standardwerte für alle Module.
Modulparameter
Die Modulparameter sind die in einem Modulabschnitt angegeben und werden nur auf diesen Abschnitt angewendet. Lassen Sie uns einige von ihnen sehen.
Der Parameter "Pfad"
Dieser Parameter ist obligatorisch und muss für jedes Modul bereitgestellt werden. Es wird verwendet, um den Pfad des vom Modul selbst verfügbaren Verzeichnisses anzugeben.
Der Parameter "Kommentar"
Der Parameter „Kommentar“ ist optional: Wir können eine Zeichenfolge angeben, die in der Nähe des Namens des Moduls angezeigt wird, wenn der Client eine Liste der verfügbaren anfordert.
Machen Sie ein Modul nur lesen oder schreiben
Standardmäßig werden alle Module als schreibgeschützt erstellt. Dies bedeutet, dass ein Client es nur als Quelle für die Übertragung verwenden kann. Dieses Verhalten kann geändert werden, indem der Parameter „Nur Lesen“ auf festgelegt wird NEIN
oder FALSCH
. Das Modul kann auch nur mit der Verwendung der Schreibschreibungen erstellt werden nur schreiben
Parameter und Bereitstellung Ja
oder WAHR
als Wert. Wenn dieser letztere Parameter aktiviert ist, kann der Client keine Dateien aus dem Modul herunterladen. Um Dateien aus dem Modul zu lesen oder darauf zu schreiben, müssen auch die Standard -UNIX -Berechtigungen respektiert werden.
Die UID- und GID -Parameter
Der uid
Und gid
Die kombinierten Parameter definieren die Berechtigungen, die die Übertragung haben wird. Ersteres wird verwendet, um den Benutzer zu definieren. Die Übertragung wird ausgeführt, wenn der Daemon als Root ausgeführt wird (wenn der Daemon mit den Berechtigungen eines normalen Benutzers ausgeführt wird, ändert sich der Benutzer nicht). Der Benutzer kann durch seinen Benutzernamen oder seine numerische ID identifiziert werden. Letzteres definiert einen oder mehrere Gruppenname oder Gruppen -ID, die für die Übertragung verwendet werden sollen.
Der Standardwert für beide Optionen ist niemand
, Das heißt, wenn der Daemon als Wurzel ausgeführt wird, werden die Überweisungen mit den Privilegien der durchgeführt niemand
Benutzer und der niemand
Gruppe (auf Debian die NOWO -Gruppe existiert nicht - Nogroup
wird stattdessen verwendet).
Der Parameter „Chroot verwenden“
Durch Verwendung der Verwenden Sie Chroot
Parameter können wir definieren, ob RSYNC vor Beginn der Übertragung den definierten Modulpfad auf den definierten Modulpfad schöpfen sollte. Dies kann verwendet werden, um die Sicherheit durchzusetzen. Um dies zu nutzen, muss der Dämon so konfiguriert werden. Standardmäßig ist diese Option auf Ja
.
Der Parameter „Max Connections“
Dies ist ein weiterer sehr nützlicher Parameter, der verwendet wird, um die maximale Anzahl gleichzeitiger Verbindungen zu definieren, die vom Daemon unterstützt werden. Der für den Parameter verwendete Standardwert ist 0
, was bedeutet, dass keine Grenze festgelegt wird. Wenn der bereitgestellte Wert eine negative Zahl ist, sind die Verbindungen vollständig deaktiviert.
Dateien aus der Übertragung ausschließen und eingeben
Manchmal möchten wir einige Dateien aus der Übertragung ausschließen: Wir können die Aufgabe durch die Verwendung des ausschließen
Parameter, der eine von Raum getrennte Liste von Mustern akzeptiert. Die von den Mustern übereinstimmenden Dateien werden nicht synchronisiert. Der enthalten
Der Parameter funktioniert auf die gleiche Weise, aber es wird verwendet, um explizit Einschlüsse zu definieren.
Eine andere Möglichkeit, Dateien auszuschließen oder explizit einzubeziehen ausgeschlossen von
Und einschließen von
Parameter. Mit diesen Parametern können wir den Pfad der Dateien angeben, die Ausschluss- und Einschlussmuster enthalten. Die Dateien müssen ein Muster pro Zeile enthalten.
Der ausschließen
, enthalten
, ausgeschlossen von
Und einschließen von
Parameter können nur einmal in einem Modul angezeigt werden.
Der Parameter "Timeout"
Wenn wir das verwenden rsync
Kunde können wir die bereitstellen--Auszeit
Option zum Festlegen eines maximalen E/A -Zeitlimits in Sekunden: Wenn in der angegebenen Zeit keine Daten übertragen werden, wird die Übertragung abgebrochen. Der Auszeit
Option der rsync Daemon
Kann verwendet werden, um das vom Client definierte Zeitüberschreitungsumfang zu überschreiben. Dies kann nützlich sein, um zu vermeiden, dass ein toter Klient unbestimmt ist. Die Zeitüberschreitung wird in Sekunden ausgedrückt: 0
ist die Standardeinstellung und es bedeutet kein Timeout.
Die "nicht wiederlesbar ignorieren" und "nicht komprimieren"
Der Ignorieren Sie nicht überlesene
Die Option wird verwendet, um RSYNC anzuweisen, Dateien zu ignorieren, die vom Benutzer nicht lesbar sind. Der Nicht komprimieren
Die Option wird stattdessen verwendet, um eine läbe getrennte Liste der von Fall unempfindlichen Muster bereitzustellen, die zur Auswahl von Dateien verwendet werden, die während der Übertragung nicht komprimiert werden dürfen. Dies kann besonders nützlich sein, um die Komprimierung bereits komprimierter Dateien zu vermeiden.
Die Parameter „Hosts erlauben“ und „Hosts verweigern“
Durch Verwendung der Hosts erlauben
Und Gastgeber leugnen
Parameter können wir eine Liste von von Kommas getrennten Mustern angeben, die mit dem Hostnamen oder der IP von Clients übereinstimmen, um ihnen Zugriff auf sie zuzulassen oder zu verweigern. Die beiden Parameter können kombiniert und in einem Modul zusammen angezeigt werden. Standardmäßig dürfen alle Hosts eine Verbindung herstellen.
Beispiel einer Modulkonfiguration
Lassen Sie uns ein Beispiel erstellen und ein Modul auf einem RSYNC -Server erstellen. Das erste, was wir tun müssen, ist, den eingehenden Verkehr einzulegen TCP
Hafen 873
. Wenn wir Firewalld verwenden, können wir das vorkonfigurierte hinzufügen rsyncd
Service für die Zone, die wir verwenden:
$ sudo firewall-cmd --permanent --add-service rsyncd && sudo Firewall-cmd-Reload
Wenn wir UFW verwenden, können wir stattdessen ausführen:
$ sudo ufw erlauben 873/tcp
Sobald wir die Firewall konfiguriert haben, können wir fortfahren und ein Modul definieren. Hier ist unsere Konfiguration:
[linuxconfig] path =/mnt/data/rsync comment = "Beispiel eines RSYNC -Daemon -Moduls" LEAD = false exclued = *.txt
Wir haben unser Modul "Linuxconfig" bezeichnet und das assoziiert das /mnt/data/rsync
Verzeichnis dazu. Wir haben auch einen Kommentar abgegeben. Wir setzen das Modul sowohl lesbar als auch beschreibbar, indem wir die festlegen schreibgeschützt
Parameter zu falsch und über die ausschließen
Parameter haben wir ein Muster bereitgestellt, um alle Dateien mit dem auszuschließen .txt
Verlängerung.
Bevor wir unser Modul verwenden, müssen wir den Daemon starten. Wir können RSYNC als Daemon ausführen, indem wir das Programm mit dem anrufen --Dämon
Option, oder wir können einfach Systemd verwenden, um die Aufgabe zu erfüllen (unter der Haube führt der SystemD -Dienst denselben Befehl aus). Unter Debian -basierter Verteilungen heißt der Dienst rsync
; Auf Fedora und Archlinux heißt es rsyncd
:
$ sudo systemctl starten rsync
Um RSYNC automatisch beim BOOT zu starten, müssen wir das SystemCTL verwenden ermöglichen
Unterbefehl:
$ sudo systemctl aktivieren rsync
Wir setzen die /mnt/data/rsync
Verzeichnis im Besitz der von der niemand
Benutzer und der Nogroup
Gruppe (es ist eine Debian -Maschine). Hier ist der Inhalt:
$ ls/mnt/data/rsync csv1.CSV Text1.txt text2.txt
Wie wir sehen können, enthält das Verzeichnis zwei .txt
Dateien und eine .CSV
. Wenn wir das Modul als Quelle in der Übertragung verwenden, nur das „CSV1.Die CSV -Datei wird enthalten:
$ rsync -av rsync: // 192.168.0.39/linuxconfig/ . Empfangen inkrementaler Dateiliste ./ csv1.CSV
Der Ausschluss wirksam auch, wenn wir das Modul als Ziel verwenden. Sagen wir, wir erstellen das „CSV2.CSV “und„ Text3.txt ”Dateien in unserem aktuellen Arbeitsverzeichnis:
$ touch csv2.CSV Text3.txt
Wenn wir jetzt RSYNC ausführen und unser aktuelles Arbeitsverzeichnis als Quelle und das Modul als Ziel verwenden, können wir sehen, wie sich der Daemon ablehnt, den „Text3) zu empfangen.TXT ”-Datei, da sie mit dem angegebenen Ausschlussmuster übereinstimmt:
$ rsync -av . rsync: // 192.168.0.39/LinuxConfig Senden inkrementaler Dateiliste Fehler: Daemon hat sich geweigert, Datei zu empfangen "text3.txt" ./ csv2.CSV
Beachten Sie, dass wir in den obigen Befehlen eine verwendet haben RSYNC URL
So geben Sie die IP -Adresse des Servers und den Namen des Moduls an, das wir verwenden möchten. Wie können wir eine Liste aller verfügbaren Module auf einer Maschine erhalten?? Es ist sehr einfach, wir führen einfach den Befehl rsync aus, der nur die Serveradresse in der URL angibt:
$ rsync rsync: // 192.168.0.39 LinuxConfig "Beispiel eines RSYNC -Daemon -Moduls"
Alle verfügbaren Module und die zugehörigen Kommentare werden angezeigt. In diesem Fall nur das "Linuxconfig".
Abschluss
In diesem Artikel haben wir gesehen, wie man den RSYNC -Daemon auf einigen der am häufigsten verwendeten Linux -Verteilungen installiert und konfiguriert. Wir haben gesehen und gelernt, wie man einige der verfügbaren globalen und modulspezifischen Parameter verwendet, um das Verhalten des RSYNCD-Daemons zu ändern. Schließlich haben wir ein Beispiel für eine Modulkonfiguration gesehen. Für ein ausführlicheres Wissen über rsyncd
, Wir können immer das offizielle Handbuch konsultieren. Es geht nur darum: Laufen:
$ MAN RSYNCD.Conf
Verwandte Linux -Tutorials:
- Dinge zu installieren auf Ubuntu 20.04
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- Dinge zu installieren auf Ubuntu 22.04
- Linux -Konfigurationsdateien: Top 30 am wichtigsten
- Mastering -Bash -Skriptschleifen beherrschen
- Linux -Download
- Mint 20: Besser als Ubuntu und Microsoft Windows?
- Wie man Kali Linux und Windows 10 Dual -Boot -Start hat
- Ubuntu 20.04 Tricks und Dinge, die Sie vielleicht nicht wissen
- « Beispiele für die Verwendung von RSYNC für lokale und Ferndatensicherungen und -Synchronisierungen
- So installieren Sie Docker auf Ubuntu 20.04 LTS FOSSA FOSSA »