ホームページ  >  記事  >  バックエンド開発  >  リモートサーバーファイルをrsyncで増分同期することを忘れないでください

リモートサーバーファイルをrsyncで増分同期することを忘れないでください

WBOY
WBOYオリジナル
2016-08-08 09:24:37902ブラウズ

rsync リモート シェルはデータを段階的に同期します

rsync でファイルを同期するには 2 つの方法があります。1 つはデーモン方式 (rsync デーモン) で、もう 1 つはリモート シェル方式 (rsync リモート シェル) です。

2つの方法の違い

デーモン モード、この方法では、TCP 経由でリモート rsync デーモンに接続する必要があります。設定ファイルを使用し、デーモン プロセスを有効にします。

リーリー

リモート シェル方式。この方式では、設定ファイルやデーモン プロセスを使用する必要がありません。

リーリー

デーモン方式は面倒で、設定ファイルやデーモンプロセスの設定が必要なので、以下のようにリモートシェル方式で同期することにしました。 リーリー

パラメータ avr --delete はそれぞれ

を表します リーリー

すべてが正常であれば、上記の同期コマンドを実行すると、リモート マシン上の yanruitao ユーザーのパスワードを入力するように求められます (初回は、関係を確立するかどうかを尋ねられます (ようです)詳細は忘れました)、Enter キーを押してください)、実行後、ルールに従って同期されます。

しかし、問題があり、毎日 2 時に crontab タスクを追加して増分同期を実行したいのですが、現時点では 2 台のマシンで信頼関係を確立する必要があります。

2 台のマシン間に信頼関係を確立する

信頼関係を確立する前に、公開鍵と秘密鍵に基づく暗号化と認証を見てみましょう

秘密鍵の署名プロセス
下の写真は盗用です、笑、認証プロセスを理解するためにこの写真を使用するのは完璧です:

リーリー

    アリスは公開鍵と秘密鍵を生成し、公開鍵をボブに送信します。

  1. アリスは秘密鍵を使用して署名、つまり暗号化を生成します。

  2. アリスは署名された情報をボブに送信します。

  3. ボブはアリスの公開鍵を使用して署名を復号し、信頼性を検証します。

  4. リモートサーバーファイルをrsyncで増分同期することを忘れないでください
公開鍵暗号化プロセス
下の写真も盗まれたものです(写真があると理解しやすいです)。これはアリスが対称鍵技術を介してボブに情報を送信しているところです。 リーリー

ボブは自分自身の公開鍵と秘密鍵を生成し、公開鍵をアリスに送信します。

  1. アリスはボブの公開鍵を使用してメッセージを暗号化します。

  2. アリスは暗号化された情報をボブに送信します。

  3. ボブは秘密キーを使用して、アリスから送信された情報を復号し、取得します。

  4. リモートサーバーファイルをrsyncで増分同期することを忘れないでください
  5. ホスト間で信頼関係を確立する

公開鍵と秘密鍵に関する上記の知識を理解した上で、2 つのホスト間に信頼関係を確立しましょう。

192 ドット 168 ドット 1 ドット 100 に yanruitao という 2 つのマシンがあるとします

、192 ドット 168 ドット 1 ドット 101 に

、101 上で 100 との信頼関係を確立する (つまり、100 が 101 にログインするときにパスワードを入力する必要がない) ために、今回は秘密鍵署名プロセスが使用されます: yanruitao192.168.1.100のホームディレクトリに公開鍵と秘密鍵を生成します(既存のものは無視して構いません) リーリー
yanruitao192.168.1.101 のホームディレクトリの下に yanruitao192.168.1.100 との信頼関係を確立します
リーリー
crontabをセットアップする
リーリー
問題が発生しました
もちろん、実際に操作すると問題が発生するかもしれません。私がやっていたとき、2 台のマシンのユーザー名は異なっていて、1 台は yanruitao で、もう 1 台は mywife でした (笑、笑わないでください)。 yanruitao と mywife の履歴書はこれです。 この時点で、mywife ホーム ディレクトリで信頼関係を確立するために、上記の手順を再実行する必要があります。もう 1 つの問題は、mywife のマシン上の /export/wwwroot/htdocs/files/ フォルダーの所有者が mywife でなければならないことです。
リーリー

それ以外の場合、エラーが報告される可能性があります (具体的なエラーは会社で発生しました)。同期には影響しないようですが、$? が 23 を返すため、次の操作に影響します。良い。

参考記事

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

http://www.zhihu.com /質問/25912483

この記事の著作権は著者 ifforever (

luluyrt at 163 dot com) に帰属します。記事を転載した後は、著者と原文リンクを明示する必要があります。記事ページ上で明確な立場を表明していない場合、当社は法的責任を追及する権利を留保します。 上記では、次の点を含め、rsync を使用したリモート サーバー ファイルの増分同期について紹介しました。PHP チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。