Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Teilen Sie das Beispiel-Tutorial zur rsync+inotify-Echtzeitsynchronisierung

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

PHP中文网
PHP中文网Original
2017-06-20 11:57:301439Durchsuche

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!

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