Inhaltsverzeichnis
Der Unterschied zwischen den beiden Methoden
Stellen Sie eine Vertrauensbeziehung zwischen zwei Maschinen her
Signaturprozess mit privatem Schlüssel
Verschlüsselungsprozess mit öffentlichem Schlüssel
Stellen Sie eine Vertrauensbeziehung zwischen Hosts her
Generieren Sie den öffentlichen Schlüssel und den privaten Schlüssel im Home-Verzeichnis von yanruitao192.168.1.100 (die vorhandenen können ignoriert werden)
Stellen Sie eine Vertrauensbeziehung mit yanruitao192.168.1.100 im Home-Verzeichnis von yanruitao192.168.1.101 her
Crontab festlegen
Es sind Probleme aufgetreten
Referenzartikel
Heim Backend-Entwicklung PHP-Tutorial Denken Sie daran, Remote-Serverdateien schrittweise mit rsync zu synchronisieren

Denken Sie daran, Remote-Serverdateien schrittweise mit rsync zu synchronisieren

Aug 08, 2016 am 09:24 AM
rsync

rsync Remote Shell synchronisiert inkrementell Daten

Es gibt zwei Möglichkeiten, Dateien mit rsync zu synchronisieren: eine ist die Daemon-Methode (rsync-Daemon) und die andere ist die Remote-Shell-Methode (rsync-Remote-Shell).

Der Unterschied zwischen den beiden Methoden

Daemon-Modus, diese Methode stellt über TCP eine Verbindung zum Remote-rsync-Daemon her. Sie müssen eine Konfigurationsdatei verwenden und den Daemon-Prozess aktivieren.

<code>rsync [OPTION] user@host::src dest
rsync [OPTION] src user@host::dest</code>
Nach dem Login kopieren

Remote-Shell-Methode, diese Methode erfordert keine Verwendung von Konfigurationsdateien oder Daemon-Prozessen.

<code>rsync [OPTION] user@host:src dest
rsync [OPTION] src user@host:dest</code>
Nach dem Login kopieren

Die Daemon-Methode ist zu mühsam, um die Konfigurationsdatei und den Daemon-Prozess einzurichten. Daher habe ich die Remote-Shell-Methode zur Synchronisierung wie folgt ausgewählt:

<code>  rsync -avr --delete yanruitao@123.123.123.123:/export/test/htdocs/files/ /export/test/htdocs/files/</code>
Nach dem Login kopieren

Die Parameter avr --delete repräsentieren jeweils

<code>-a 归档(archive)模式,以递归方式传输文件,并保持文件属性
-v 输出同步的详细信息(verbose)
-r 对子目录进行递归模式处理(recursive)
--delete 删除源(SRC)中没有目标(DST)中有的文件</code>
Nach dem Login kopieren

Wenn alles normal ist, werden Sie beim Ausführen des obigen Synchronisierungsbefehls aufgefordert, das Kennwort des yanruitao-Benutzers auf dem Remote-Computer einzugeben (beim ersten Mal werden Sie gefragt, ob eine Beziehung hergestellt werden soll (anscheinend I Ich habe das Spezifische vergessen.) Drücken Sie einfach die Eingabetaste und führen Sie es aus. Nach Abschluss wird es gemäß den Regeln synchronisiert.

Aber es gibt ein Problem. Ich möchte jeden Tag um 14:00 Uhr eine inkrementelle Synchronisierung durchführen. Zu diesem Zeitpunkt muss ich eine Vertrauensbeziehung herstellen zwei Maschinen

Stellen Sie eine Vertrauensbeziehung zwischen zwei Maschinen her

Bevor wir eine Vertrauensbeziehung aufbauen, werfen wir einen Blick auf die Verschlüsselung und Authentifizierung basierend auf öffentlichen Schlüsseln und privaten Schlüsseln

Signaturprozess mit privatem Schlüssel

Das Bild unten ist gestohlen, haha, es ist perfekt, dieses Bild zu verwenden, um den Authentifizierungsprozess zu verstehen:

<code>消息-->[私钥]-->签名-->[公钥]-->认证
私钥数字签名,公钥验证</code>
Nach dem Login kopieren
  1. Alice generiert einen öffentlichen Schlüssel und einen privaten Schlüssel und sendet den öffentlichen Schlüssel an Bob.
  2. Alice verwendet ihren privaten Schlüssel, um eine Signatur zu generieren, bei der es sich um eine Verschlüsselung handelt.
  3. Alice sendet die unterschriebenen Informationen an Bob.
  4. Bob verwendet Alices öffentlichen Schlüssel, um die Signatur zu entschlüsseln und ihre Echtheit zu überprüfen.
    Denken Sie daran, Remote-Serverdateien schrittweise mit rsync zu synchronisieren
Verschlüsselungsprozess mit öffentlichem Schlüssel

Das Bild unten ist ebenfalls gestohlen (es ist einfacher zu verstehen, wenn Sie ein Bild haben). Hier sendet Alice Informationen über die symmetrische Schlüsseltechnologie an Bob:

<code>消息-->[公钥]-->签名后的消息-->私钥-->解密后的消息
公钥加密,私钥解密</code>
Nach dem Login kopieren
  1. Bob generiert seine eigenen öffentlichen und privaten Schlüssel und sendet den öffentlichen Schlüssel an Alice.
  2. Alice verwendet Bobs öffentlichen Schlüssel, um die Nachricht zu verschlüsseln.
  3. Alice sendet die verschlüsselten Informationen an Bob.
  4. Bob verwendet seinen privaten Schlüssel, um die von Alice gesendeten Informationen zu entschlüsseln und abzurufen.
    Denken Sie daran, Remote-Serverdateien schrittweise mit rsync zu synchronisieren

Stellen Sie eine Vertrauensbeziehung zwischen Hosts her

Nachdem wir das obige Wissen über öffentliche Schlüssel und private Schlüssel verstanden haben, bauen wir nun eine Vertrauensbeziehung zwischen zwei Hosts auf. , , um eine Vertrauensbeziehung mit 100 auf 101 herzustellen (dh 100 muss beim Anmelden bei 101 kein Passwort eingeben), wird diesmal der Signaturprozess mit privatem Schlüssel verwendet:

Generieren Sie den öffentlichen Schlüssel und den privaten Schlüssel im Home-Verzeichnis von yanruitao192.168.1.100 (die vorhandenen können ignoriert werden)
<code>ssh-keygen -t rsa
#执行完之后会在家目录下的.ssh文件夹下生成id_rsa、id_rsa.pub两个文件,后者是公钥。
scp .ssh/id_rsa.pub yanruitao@192.168.1.101:/home/yanruitao/
#scp同样是通过remote shell的方式传送文件,回车之后会提示输入密码,此时
#还未建立信任关系,因此需要输入密码。确认100的公钥发送给101</code>
Nach dem Login kopieren
Stellen Sie eine Vertrauensbeziehung mit yanruitao192.168.1.100 im Home-Verzeichnis von yanruitao192.168.1.101 her
<code>#将刚才传送的100机器的公钥写入101yanruitao及目录下的.ssh/authorized_keys文件
cat id_rsa.pub >> .ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
#至此就在yanruitao@192.168.1.101上对192.168.1.100建立了信任关系</code>
Nach dem Login kopieren
Crontab festlegen
<code>0 */2 * * * rsync yanruitao@192.168.1.101:/export/wwwroot/hotdocs/files/ /export/wwwroot/hotdocs/files/
#设置完成,每天02:00分会执行一次增量同步</code>
Nach dem Login kopieren
Es sind Probleme aufgetreten

Natürlich kann es bei der tatsächlichen Bedienung zu Problemen kommen, die Benutzernamen der beiden Maschinen waren unterschiedlich, eine war yanruitao und die andere war mywife (haha, nicht lachen). Yanruitao, es besteht eine Vertrauensbeziehung zum Mywife-Lebenslauf. Zu diesem Zeitpunkt müssen Sie die oben genannten Schritte erneut ausführen, um die Vertrauensbeziehung im Mywife-Home-Verzeichnis herzustellen. Ein weiteres Problem besteht darin, dass der Besitzer des Ordners /export/wwwroot/htdocs/files/ auf dem Rechner von mywife mywife sein muss:

<code>#修改文件夹所有者为mywife
sudo chown mywife:users /export/wwwroot/htdocs/files/</code>
Nach dem Login kopieren

Andernfalls wird möglicherweise ein Fehler gemeldet (ich habe den spezifischen Fehler vergessen, obwohl er anscheinend keine Auswirkung auf die Synchronisierung hat, wird jedoch 23 zurückgegeben, was sich auf die folgenden Vorgänge auswirkt). auch hier.

Referenzartikel

http://www.williamlong.info/archives/837.html
http://www.cnblogs.com/ymy124/archive/2012/04/04/2432432.html
http:/ /www.zhihu.com/question/25912483

Das Urheberrecht an diesem Artikel liegt für immer beim Autor (). Nachdruck des Artikels ist ohne Zustimmung des Autors untersagt und der Autor muss auf der Artikelseite eindeutig angegeben werden, andernfalls behalten wir uns eine rechtliche Haftung vor.

Das Obige hat die inkrementelle Synchronisierung von Remote-Server-Dateien mit rsync vorgestellt, einschließlich der folgenden Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Was genau ist das nicht blockierende Merkmal von ReactPhp? Wie gehe ich mit seinen blockierenden E/A -Operationen um? Was genau ist das nicht blockierende Merkmal von ReactPhp? Wie gehe ich mit seinen blockierenden E/A -Operationen um? Apr 01, 2025 pm 03:09 PM

Eine offizielle Einführung in das nicht blockierende Merkmal der detaillierten Interpretation der nicht blockierenden Funktion von ReactPhp hat viele Fragen vieler Entwickler gestellt: "Reactphpisnon-BlockingByDefault ...

See all articles