Heim > System-Tutorial > LINUX > So einfach ist Backup: Erfahren Sie, wie Sie den Linux-Befehl rsync ganz einfach verwenden

So einfach ist Backup: Erfahren Sie, wie Sie den Linux-Befehl rsync ganz einfach verwenden

WBOY
Freigeben: 2024-02-13 09:33:02
nach vorne
1203 Leute haben es durchsucht

Im täglichen Gebrauch moderner Computer ist die Datensicherung besonders wichtig. Für Linux-Benutzer ist der Befehl rsync eine gängige Methode zum Sichern und Synchronisieren von Dateien. Es ermöglicht eine schnelle und effiziente Datensynchronisierung zwischen verschiedenen Systemen oder lokalen Ordnern.

Projekthintergrund: Zwischen Server A und Server B ist eine Datensynchronisierung erforderlich (entweder 1-zu-1 oder viele-zu-viele, hier ist ein einfaches 1-zu-1-Beispiel). Diese Lösung wird häufig für die Remote-Notfallwiederherstellung verwendet.

备份就是那么简单:教你轻松使用 Linux rsync 命令

Es gibt grob zwei Arten von Synchronisierungslösungen, die auf Anwendungsszenarien basieren: geplante Synchronisierung und Echtzeitsynchronisierung. Die geplante Synchronisierung weist die Merkmale einer festen Synchronisierungszeit, einer schlechten Echtzeitleistung und eines geringen Ressourcenverbrauchs auf. Die Echtzeitsynchronisierung weist die Merkmale einer starken Echtzeitleistung, einer intensiven Synchronisierung und eines hohen Ressourcenverbrauchs auf.

1. Geplante Synchronisierung

1. Software installieren:

yum install rsync -y
Nach dem Login kopieren

2. Passwortfreie Anmeldung (Sie können auch einfachen Text verwenden, um eine interaktive Anmeldung zu simulieren, aus Sicherheitsgründen wird jedoch die Verwendung einer passwortfreien Anmeldung empfohlen):

ssh-keygen -t rsa
Nach dem Login kopieren

Nach der Generierung können Sie das Verzeichnis cd ~/.ssh/ aufrufen und den Inhalt des generierten Schlüssels ~/.ssh/id_rsa.pub nach /root/.ssh/authorized_keys auf dem Remote-Host kopieren

Viele Studenten hier sind neugierig, warum für die oben genannten Vorgänge kein Passwort eingegeben werden muss. Studenten, die sich mit der passwortfreien Anmeldung auskennen, können diese Einführung überspringen. Hier eine Einführung in das Prinzip des passwortfreien Logins:

rsa wird auch als asymmetrischer Schlüsselalgorithmus bezeichnet, was dem symmetrischen Schlüsselalgorithmus entspricht.

Der sogenannte symmetrische Schlüsselalgorithmus ist die Kommunikation zwischen A und B. Damit beide Parteien die Identität des anderen bestätigen können, einigen sich A und B auf einen Schlüssel k, der beiden Parteien bekannt ist, um die Identität wie folgt zu bestimmen:

A => (mk) B A sendet m Klartext und den K-Schlüssel an B, und B bestätigt, dass der K-Schlüssel mit der vorherigen Vereinbarung von A übereinstimmt, und kann dann sicher sein, dass die Identität von A wahr ist. Umgekehrt gilt das Gleiche auch für die Kommunikation von B nach A.

Asymmetrische Verschlüsselung erfordert zwei Schlüssel: öffentlichen Schlüssel und privaten Schlüssel. Der öffentliche Schlüssel und der private Schlüssel sind ein Paar. Wenn der öffentliche Schlüssel zur Verschlüsselung von Daten verwendet wird, können diese nur mit dem entsprechenden privaten Schlüssel entschlüsselt werden. Wenn ein privater Schlüssel zur Verschlüsselung von Daten verwendet wird, können diese nur mit dem entsprechenden öffentlichen Schlüssel entschlüsselt werden. Da für die Ver- und Entschlüsselung unterschiedliche Schlüssel verwendet werden, spricht man von asymmetrischer Verschlüsselung.

Der obige Vorgang teilt also den öffentlichen Schlüssel von Server A mit Server B (Remote-Host), sodass Server A nicht mehr die herkömmliche interaktive Passworteingabe benötigt, um sich bei Server B anzumelden. Server B kann dies über den öffentlichen Schlüssel von Server A bestätigen . Die Authentizität von Server A (privater Schlüssel).

[root@localhost ~]# cd ~/.ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
Nach dem Login kopieren

3. Schreiben Sie ein Shell-Skript

[root@localhost ~]# vim back.sh
#!/bin/sh
rsync -avz -e 'ssh -p 22' root@x.x.x.x:/XXX/pub /data/
Nach dem Login kopieren

Hinweis: Die Datensynchronisierung von rsync ist in zwei verschiedene Aktionen unterteilt: Pull und Push. Testen Sie vor dem Schreiben des Skripts unbedingt, ob der Befehl normal ausgeführt werden kann.

4. Geplante Ausführungskonfiguration von Crontab (Skript jeden Tag um 15 Uhr ausführen)

Zu diesem Zeitpunkt ist die geplante Synchronisierung konfiguriert.

2. Echtzeit-Synchronisation

备份就是那么简单:教你轻松使用 Linux rsync 命令

Einführung in Inotify

Inotify ist eine seit Version 2.6.13 verfügbare Linux-Funktion, die Dateisystemvorgänge wie Lese-, Schreib- und Erstellungsvorgänge überwacht. Inotify ist sehr reaktionsschnell, sehr einfach zu verwenden und viel effizienter als das geschäftige Abfragen von Cron-Aufgaben.

Beginnen Sie mit der Konfiguration von Inotify

Hinweis: rsync muss vor dem Start auf beiden Servern A und B installiert werden.

1. Passen Sie die inotify-Kernel-Parameter auf Server B an, vim /etc/sysctl.conf

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
Nach dem Login kopieren

2. Sorgen Sie dafür, dass die Anpassung der Inotify-Kernel-Parameter sofort wirksam wird

sysctl -p
Nach dem Login kopieren

3. Installieren Sie das Inotify-Tool

# 先安装扩展包源,否则inotify-tools找不到
yum install epel-release
yum install inotify-tools 
Nach dem Login kopieren

4. Öffnen Sie zwei Terminals, ein Terminal führt Vorgänge wie Erstellen und Löschen aus und das andere führt das Inotify-Tool-Tool aus. Es funktioniert normal, wenn Sie das Inotify-Tool-Tool testen

inotifywait -mrq -e modify,create,move,delete /var/www/

inotifywait:用于持续监控,实时输出结果
inotifywatch:用于短期监控,任务完成后再出结果
Nach dem Login kopieren

5. Skripte schreiben

vim /root/tongbu.sh

#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /root/cs"

RSYNC_CMD="rsync -avz -e 'ssh -

p 22'  /root/cs/  root@x.x.x.x:/root/cs/ "
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
    if [ $(pgrep rsync | wc -l) -le 0 ] ; then
        $RSYNC_CMD
    fi
done
Nach dem Login kopieren

Hinweis: Achten Sie hier besonders darauf, die logische Beziehung nicht zu verwechseln, es handelt sich um Server B und Server A.

6. Fügen Sie den automatischen Hintergrund hinzu, der beim Start ausgeführt wird, bearbeiten Sie die Datei /etc/profile und fügen Sie die folgende Anweisung in die letzte Zeile ein

/bin/bash /root/tongbu.sh &
Nach dem Login kopieren
Damit ist die Erläuterung der geplanten Synchronisierung und der Echtzeitsynchronisierung abgeschlossen. Die Anwendung unterschiedlicher Lösungen entsprechend unterschiedlicher Szenarien erfordert eine flexible Reaktion, und darauf sollte besonderes Augenmerk gelegt werden. Bei Echtzeit-Synchronisationslösungen darf das Überwachungsverzeichnis nicht als Protokollverzeichnis festgelegt werden, da sonst die Server-CPU in die Höhe schießen und abstürzen kann.

Kurz gesagt ist der Befehl rsync ein sehr leistungsstarkes, flexibles und effizientes Tool zur Dateisynchronisierung und -sicherung. Ob im täglichen Einsatz oder im Produktionsumfeld, es kann seine einzigartigen Vorteile ausspielen. Durch die Einführung und das Üben dieses Artikels glaube ich, dass jeder die grundlegende Verwendung und die Fähigkeiten dieses Befehls beherrscht. Ich hoffe, Sie können den Befehl rsync besser nutzen, um Ihre Daten bei Ihrer zukünftigen Linux-Nutzung zu verwalten und zu schützen!

Das obige ist der detaillierte Inhalt vonSo einfach ist Backup: Erfahren Sie, wie Sie den Linux-Befehl rsync ganz einfach verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lxlinux.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage