


Teilen Sie das Beispiel-Tutorial zur rsync+inotify-Echtzeitsynchronisierung
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. Überinotify 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
rsyncinstallieren)
Teilen an
/tmp/:
1.Virtuellen Benutzer hinzufügen
useradd rsync -s /sbin/nologinchown -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
600Berechtigungenchmod 600 /etc/rsync.password
4 .rsync --daemon daemonModus-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
BerechtigungenTestskript:
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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“.

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

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 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

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 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

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

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
