Heim > Artikel > Betrieb und Instandhaltung > 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!