2 つの Linux サーバー間の自動ファイル同期

2 つの Linux サーバー間の自動ファイル同期

サーバーB(172.17.166.11)の電源がオンまたは再起動されると、サーバーA(172.17.166.10)の指定されたディレクトリ内のすべてのファイルが自動的に取得されます。

1. サーバーBとサーバーAの間に相互信頼関係を構築する

(1) Server Bでssh-keygen -t rsaを実行し、Enterキーを押します。 (2) Server Bでssh-copy-id -i 172.17.166.10を実行し、Enterキーを押してServer Aのパス​​ワードを入力します。 (3) Server Bでssh 172.17.166.10を実行し、パスワードなしでServer Aにログインできるかどうかを確認します。

2. サーバーB

次のディレクトリ構造を作成します

[root@w-11 home]# ツリーシェル
シェル
├── logs ----ディレクトリ └── pull_170.sh ----スクリプト

スクリプトは次のとおりです。

#!/bin/bash
#引く_
#著者:whz
#日付:20200805
#存在しない変数はスクリプトの実行を終了します set -o nounset
# 実行エラーによりスクリプトの実行が終了します。set -o errexit
# 制限パスを定義する
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
# adirname - 指定されたファイルの絶対ディレクトリ名を返す
adirname() { odir=`pwd`; cd `dirname $1`; pwd; cd "${odir}"; }
MYNAM=`ベース名 "$0"`
MYDIR=`ディレクトリ名 "$0"`
MYLOG_PATH="${MYDIR}/logs"
MYLOG="${MYLOG_PATH}/${MYNAM}_`日付 +%F`.log"
echo "`which rsync` -avtW --progress --delete [email protected]:/home/iis/ /home/iis/" >> ${MYLOG}
`which rsync` -avtW --progress --delete [email protected]:/home/iis/ /home/iis/ >> ${MYLOG}
終了 0

3. サーバーBのCrontabプラン

crontab -e
@reboot /home/shell/pull_10.sh

これで完了です。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linuxはscpコマンドを使用してファイルをローカルコンピュータにコピーし、ローカルファイルをリモートサーバーにコピーします。
  • Linux サーバーでフォルダー、ファイル、解凍コマンドを削除する方法
  • Samba を使用して Linux サーバー上で共有ファイル サービスを構築する方法
  • Linux サーバーと Windows システム間でファイルをアップロードおよびダウンロードする方法
  • PythonはLinuxサーバー上のファイルを読み取る
  • Linuxサーバー間のリアルタイムファイル同期の実現
  • SSH経由でLinuxサーバーにファイルやフォルダをアップロードする方法
  • Linux ローカルとサーバー間でファイルを転送し、Linux サーバー上でファイルをアップロードおよびダウンロードするためのコマンドを記述する方法

<<:  画像拡大鏡効果のJSバージョン

>>:  Zabbixは複数のmysqlプロセスの監視を実装します

推薦する

Axios の二次カプセル化の例 プロジェクトのデモ

1. なぜパッケージングを行うのですか?全体的なコード呼び出し、リクエストの公開処理、パーソナライズ...

Webフロントエンドインターフェースの設計に必須のスキル

[必須] ユーザーインターフェースPhotoShop/花火デザインアーティストと協力して、スケッチを...

HTML でランダムロールコーラーを実装するためのサンプルコード

この点呼装置は簡易版であり、自動停止の必要性を考慮していないため、点呼を開始した後、停止ボタンをクリ...

ウェブタイポグラフィにおける致命的な意味的ミス 10 選

<br />これは、Steven D が書いた Web フロントエンド開発デザインの基本...

MySQL の左結合操作における on 条件と where 条件の違いの紹介

優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...

Linux (CentOS) システムで MySQL データベース ディレクトリの場所を変更する方法

CentOS システムで MySQL データベース ディレクトリの場所を変更する方法1. まず、My...

ウェブデザイン必携ハンドブック 216 ウェブセーフカラー

Web ページ上の色の表現は、さまざまな要因によって影響を受けます。Web ページで非常に美しい配色...

モバイルレイアウトにvw+remを使用する方法

まだ rem フレキシブルレイアウトを使用していますか?圧縮された js コードの大きなセクションを...

CentOS7 に MySQL データベースをインストールしてデバッグする詳細な手順 [例]

この例では、デバッグ用の MySQL データベースをダウンロードしてインストールする必要があります。...

JavaScript のクロージャの問題の詳細な説明

クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...

ReactとReduxの関係を詳しく説明

目次1. reduxとreactの関係2. Reactのマルチコンポーネント共有3. reduxの3...

MySQL サービスを完全に削除する方法 (レジストリをクリーンアップする)

序文あるプロジェクトの実行可能ファイルをインストールすると、MySQL 自体をインストールできるよう...

VUEは登録とログインの効果を実現します

この記事の例では、登録とログインの効果を実現するためのVUEの具体的なコードを紹介します。具体的な内...

jsは古典的なマインスイーパゲームを実装します

この記事の例では、古典的なマインスイーパゲームを実装するためのjsの具体的なコードを参考までに共有し...

Docker Toolboxを完全にアンインストールする方法

Docker Toolbox は、Windows 10 Professional より前のバージョン...