Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Teilen Sie das Beispiel-Tutorial zur rsync+inotify-Echtzeitsynchronisierung

Teilen Sie das Beispiel-Tutorial zur rsync+inotify-Echtzeitsynchronisierung

Jun 20, 2017 am 11:57 AM
同步 实时

1.rsync

Im Vergleich zu den herkömmlichen cp, tar Sicherungsmethoden, rsync bietet die Vorteile einer hohen Sicherheit, einer schnellen Sicherung und unterstützt inkrementelle Sicherungen. Durch rsync kann es Datensicherungsanforderungen lösen, die keine hohe Echtzeit erfordern Leistung, wie z. B. regelmäßige Sicherung von Dateiserverdaten auf Remote-Servern, regelmäßige Datenspiegelung auf lokalen Festplatten usw.

Da der Umfang der Anwendungssysteme immer weiter zunimmt, werden auch in High-End-Unternehmen immer höhere Anforderungen an die Datensicherheit und -zuverlässigkeit gestellt Es gibt viele Mängel. Wenn rsync in Echtzeit synchronisiert, müssen zunächst alle Dateien zum Vergleich und zur differenziellen Übertragung gescannt werden. Wenn die Anzahl der Dateien Millionen oder sogar mehrere zehn Millionen erreicht, ist das Scannen aller Dateien sehr zeitaufwändig und nur ein kleiner Teil davon ändert sich, was eine sehr ineffiziente Methode ist. Zweitens kann rsync Daten nicht in Echtzeit überwachen und synchronisieren. Obwohl die Startsynchronisierung über den linux-Daemon durchgeführt werden kann, gibt es einen Zeitunterschied zwischen den beiden Startaktionen, was zu Inkonsistenzen zwischen dem Server und dem Client führt und es unmöglich macht, die Daten im vollständig wiederherzustellen im Falle eines Anwendungsfehlers. Aus den oben genannten Gründen erschien rsync+inotify! 2.inotify

(Überwachung)

inotify

ist eine leistungsstarke, feinkörnige, asynchrone Dateisystem-Ereignisüberwachung Mechanismus. Über

inotify können Sie verschiedene subtile Ereignisse wie das Hinzufügen, Löschen, Ändern und Verschieben im Dateisystem überwachen. Mithilfe dieser Kernel-Schnittstelle kann Software von Drittanbietern verschiedene Ereignisse überwachen Das Dateisystem ändert sich, und inotify-tools ist eine solche Software von Drittanbietern.

1. Serverkonfiguration (muss nur

rsync

installieren)

Teilen an

/tmp/

:

1.

Virtuellen Benutzer hinzufügen

useradd rsync -s /sbin/nologin

chown -R rsync.rsync /tmp/

2.

Konfiguration

rsyncd.conf Konfigurationsdatei

vim rsyncd.conf

#rsync_config_______________start

#rsyncd.conf start##

uid = rsync (Benutzer)

gid = rsync (Benutzer)

chroot verwenden = nein (um Sicherheitsprobleme zu vermeiden)

maximale Verbindungen = 200 (wie viele Clients können sich mit meinem Backup-Server verbinden)

timeout = 300 (Timeout, Verbindung trennen, nachdem längere Zeit keine Aktion ausgeführt wurde)

pid file = /var/run/rsyncd.pid (Prozessnummer, Geben Sie die Prozessnummer ein in dieser Datei)

lock file = /var/run/rsync.lock (entspricht dem Konzept von „lock“, dem Konzept des Verriegelns der Tür in der Toilette)

Protokolldatei = /var/log/rsyncd.log (ein Fehler ist aufgetreten, Sie können die Protokolldatei anzeigen)

[tmp] (Modul)

path = /tmp/(path)

Fehler ignorieren

schreibgeschützt = falsch (schreibgeschützt bedeutet falsch, lesbar und beschreibbar)

list = false (nicht erlaubte Liste)

hostsallow = 10.0.0.0/ 24 (erlaubte Hosts)

Hosts verweigern = 0.0.0.0/32 (verweigerte Hosts)

auth users = rsync_backup (unterstützen virtuelle Benutzer)

secrets file = /etc/rsync.password (entsprechende Passwortdatei des Benutzers)

#rsync_config____________end

3. Erstellen Sie eine Passwortdatei

echo „rsync_backup:123456“ >/etc/rsync.password

Alle Passwortdateien haben

600

Berechtigungenchmod 600 /etc/rsync.password

4 .rsync --daemon daemon

Modus-Start

5.rsync --daemon zu /etc/rc.local hinzufügen

echo „/ usr/bin/rsync --daemom“ >>/etc/rc.local

2. Client-Konfiguration

Installieren Sie rsync und inotify

1.Installation rsync (yum kann installiert werden)

2. Erstellen Sie eine Passwort-Authentifizierungsdatei

echo „123456“ >/etc/rsync.password Nur ​​Passwort erforderlich

Berechtigungen festlegen600 chmod 600 /etc/rsync.password

3.Installieren Sie inotify:

cd /home/cai/tools/

wget

54 tar >

57 ./configure --prefix=/usr/local/inotify-tools-3.14

58 make && make install

59 yum install -y gcc

60 ./configure --prefix=/usr/local/inotify-tools-3.14

61 make && make install

62 cd /usr/local/inotify-tools-3.14/

63 ls

64 ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify

4.

Skripte werden unter

/server/scripts

vim /server/scripts abgelegt /rsync.sh #!/bin/sh

host=192.168.76.129

src=/tmp/

des=tmp

user=rsync_backup

/usr /local/inotify/bin/inotifywait -mrq --timefmt '%d%m%y %H:%M' --format '%T %w%f%e' -e changes,delete,create,attrib $src |.

beim Lesen von Dateien

do

/usr/bin/rsync -avz - -delete $src $user@$host::$des --password-file=/etc/rsync.password

echo „${files} wurde rsynced“ >> /var/log/rsyncd.log 2>&1

fertig

exit o

~       

und erteilen Sie

764

Berechtigungen

Testskript:

sh -x /server/scripts/rsync.sh

Führen Sie das Skript aus:

sh /server/scripts/rsync.sh &

Fügen Sie das

rsync.sh

-Skript in den Boot-Eintrag ein:

echo “/tmp/rsync.sh“ >>/etc / rc.local

Das obige ist der detaillierte Inhalt vonTeilen Sie das Beispiel-Tutorial zur rsync+inotify-Echtzeitsynchronisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lösen Sie das Problem der gleichzeitigen Wiedergabe von Kopfhörern und Lautsprechern in Win11 Lösen Sie das Problem der gleichzeitigen Wiedergabe von Kopfhörern und Lautsprechern in Win11 Jan 06, 2024 am 08:50 AM

Im Allgemeinen müssen wir nur einen der Kopfhörer oder Lautsprecher gleichzeitig verwenden. Einige Freunde haben jedoch berichtet, dass sie im Win11-System auf das Problem gestoßen sind, dass Kopfhörer und Lautsprecher gleichzeitig klingen Schalten Sie es im Realtek-Panel aus und es ist in Ordnung. Schauen wir uns das unten an. Was soll ich tun, wenn meine Kopfhörer und Lautsprecher in Win11 zusammen klingen? 1. Suchen und öffnen Sie zuerst die „Systemsteuerung“ auf dem Desktop. 2. Rufen Sie die Systemsteuerung auf, suchen und öffnen Sie „Hardware und Sound“. „Realtek High Definition“ mit einem Lautsprechersymbol. „Audio Manager“ 4. Wählen Sie „Lautsprecher“ und klicken Sie auf „Rückseite“, um die Lautsprechereinstellungen einzugeben. 5. Nach dem Öffnen können wir den Gerätetyp sehen. Wenn Sie die Kopfhörer ausschalten möchten, deaktivieren Sie „Kopfhörer“.

Mar 18, 2024 am 09:46 AM

Wenn Sie feststellen, dass ein oder mehrere Elemente in Ihrem Synchronisierungsordner nicht mit der Fehlermeldung in Outlook übereinstimmen, kann dies daran liegen, dass Sie Besprechungselemente aktualisiert oder abgesagt haben. In diesem Fall wird eine Fehlermeldung angezeigt, die besagt, dass Ihre lokale Version der Daten mit der Remote-Kopie in Konflikt steht. Diese Situation tritt normalerweise in der Outlook-Desktopanwendung auf. Ein oder mehrere Elemente in dem von Ihnen synchronisierten Ordner stimmen nicht überein. Um den Konflikt zu lösen, öffnen Sie die Projekte und versuchen Sie den Vorgang erneut. Fix Ein oder mehrere Elemente in synchronisierten Ordnern stimmen nicht mit dem Outlook-Fehler überein. In der Outlook-Desktopversion können Probleme auftreten, wenn lokale Kalenderelemente mit der Serverkopie in Konflikt stehen. Glücklicherweise gibt es jedoch einige einfache Möglichkeiten, um zu helfen

Die Kombination von Java und WebSocket: So erreichen Sie Echtzeit-Videostreaming Die Kombination von Java und WebSocket: So erreichen Sie Echtzeit-Videostreaming Dec 17, 2023 pm 05:50 PM

Mit der kontinuierlichen Weiterentwicklung der Internettechnologie ist Echtzeit-Videostreaming zu einer wichtigen Anwendung im Internetbereich geworden. Zu den Schlüsseltechnologien für Echtzeit-Videostreaming gehören WebSocket und Java. In diesem Artikel wird die Verwendung von WebSocket und Java zur Implementierung der Echtzeit-Video-Streaming-Wiedergabe vorgestellt und relevante Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist ein Protokoll für die Vollduplex-Kommunikation über eine einzelne TCP-Verbindung. Es wird im Web verwendet

Verwendung von C++ zur Implementierung von Echtzeit-Audio- und Videoverarbeitungsfunktionen eingebetteter Systeme Verwendung von C++ zur Implementierung von Echtzeit-Audio- und Videoverarbeitungsfunktionen eingebetteter Systeme Aug 27, 2023 pm 03:22 PM

Verwendung von C++ zur Implementierung von Echtzeit-Audio- und Videoverarbeitungsfunktionen eingebetteter Systeme Das Anwendungsspektrum eingebetteter Systeme wird immer umfangreicher, insbesondere im Bereich der Audio- und Videoverarbeitung, wo die Nachfrage wächst. Angesichts dieser Nachfrage ist die Verwendung der C++-Sprache zur Implementierung von Echtzeit-Audio- und Videoverarbeitungsfunktionen eingebetteter Systeme eine gängige Wahl. In diesem Artikel wird die Verwendung der C++-Sprache zur Entwicklung von Echtzeit-Audio- und Videoverarbeitungsfunktionen eingebetteter Systeme vorgestellt und entsprechende Codebeispiele gegeben. Um die Echtzeit-Audio- und Videoverarbeitungsfunktion zu realisieren, müssen Sie zunächst den grundlegenden Prozess der Audio- und Videoverarbeitung verstehen. Im Allgemeinen Audio und Video

Erstellen Sie einen Echtzeit-Chatroom basierend auf JavaScript Erstellen Sie einen Echtzeit-Chatroom basierend auf JavaScript Aug 10, 2023 pm 11:18 PM

Aufbau eines Echtzeit-Chatrooms auf Basis von JavaScript Mit der rasanten Entwicklung des Internets legen die Menschen immer mehr Wert auf Instant Messaging und interaktive Echtzeiterlebnisse. Als gängiges Instant-Messaging-Tool sind Echtzeit-Chatrooms sowohl für Privatpersonen als auch für Unternehmen sehr wichtig. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript einen einfachen Echtzeit-Chatroom erstellen, und entsprechende Codebeispiele bereitgestellt. Wir benötigen zunächst eine Frontend-Seite als UI-Schnittstelle des Chatrooms. Hier ist ein Beispiel für eine einfache HTML-Struktur: <!DOCTYPE

Aufbau eines Echtzeit-Übersetzungstools auf Basis von JavaScript Aufbau eines Echtzeit-Übersetzungstools auf Basis von JavaScript Aug 09, 2023 pm 07:22 PM

Aufbau eines Echtzeit-Übersetzungstools auf Basis von JavaScript Einführung Mit der wachsenden Nachfrage nach Globalisierung und dem häufigen Auftreten grenzüberschreitender Austausche und Austausche sind Echtzeit-Übersetzungstools zu einer sehr wichtigen Anwendung geworden. Wir können JavaScript und einige vorhandene APIs nutzen, um ein einfaches, aber nützliches Echtzeit-Übersetzungstool zu erstellen. In diesem Artikel wird anhand von Codebeispielen erläutert, wie diese Funktion basierend auf JavaScript implementiert wird. Implementierungsschritte Schritt 1: HTML-Struktur erstellen Zuerst müssen wir ein einfaches HTML erstellen

So deaktivieren Sie Live-Aktivitäten in der Apple TV-App auf dem iPhone So deaktivieren Sie Live-Aktivitäten in der Apple TV-App auf dem iPhone Jun 29, 2023 pm 01:50 PM

Live-Events sind eine großartige Möglichkeit, über bevorstehende Bestellungen, Sportspiele und mehr auf dem Laufenden zu bleiben. Diese neue Benachrichtigungsmethode wurde erstmals mit der Veröffentlichung von iOS 16 eingeführt und soll die Art und Weise verbessern, wie Benachrichtigungen an das iPhone übermittelt werden. Jede Anwendung, die Echtzeitdaten bereitstellt, kann Echtzeitaktivitäten nutzen, und viele beliebte Anwendungen sind die Verfolgung ausstehender Bestellungen, Ergebnisse laufender Spiele, Wetterdaten, bevorstehende Live-Übertragungen und mehr. Live-Aktivitäten werden immer in Ihrem Benachrichtigungscenter angezeigt, auch im Standby-Modus (wenn Sie den Standby-Modus aktiviert haben und Ihr iPhone angedockt ist). Möglicherweise möchten Sie jedoch die Live-Aktivität deaktivieren, wenn Sie Ihr Apple TV verwenden, um ein unterbrechungsfreies Erlebnis zu gewährleisten. So machen Sie es auf Ihrem iPhone. So deaktivieren Sie Apple TV

Erstellen Sie eine Echtzeit-Börsenkursanzeige basierend auf JavaScript Erstellen Sie eine Echtzeit-Börsenkursanzeige basierend auf JavaScript Aug 08, 2023 am 08:03 AM

Einführung in den Aufbau einer Echtzeit-Aktienkursanzeige auf Basis von JavaScript: Mit der kontinuierlichen Entwicklung der Finanzmärkte ist die Anzeige von Echtzeit-Aktienkursen für Anleger und Händler immer wichtiger geworden. In einer modernen Handelsplattform ist es unerlässlich, eine Echtzeit-Börsenanzeigefunktion bereitzustellen. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript und einigen verwandten Technologien eine einfache Anwendung zur Anzeige von Börsenkursen in Echtzeit erstellen. Vorbereitungsarbeiten Bevor Sie beginnen, müssen Sie die folgenden Arbeiten vorbereiten: ein Webseiten-Framework basierend auf HTML und CSS

See all articles