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プロセスの監視を実装します

推薦する

MYSQLの主キー制約とユニーク制約の違いについて簡単に説明します。

目次主キー制約ユニーク制約主キー制約PRIMARY KRY 主キーは一意です。テーブルには主キーを ...

Win10 システムに MySQL8.0.13 をインストールする際の問題と解決策

オペレーティングシステム: Windows10 MySQL バージョン: 8.0.13-winx64...

MySQL メモリテーブルと一時テーブルの使用方法の詳細な説明

MySQL メモリ テーブルと一時テーブルの使用メモリテーブル: セッション 1 $ mysql -...

Linux で履歴コマンドを表示および実行する方法

履歴コマンドを表示し、指定されたコマンドを実行します owen@owen:~/owen/softwa...

HTML テーブル マークアップ チュートリアル (9): セル間隔属性 CELLSPACING

テーブルがコンパクトになりすぎないように、テーブル内のセル間に一定の距離を設定できます。基本的な構文...

WeChatアプレットコンポーネント開発:視覚的な映画座席選択機能

目次1. はじめに1. コンポーネントデータ2. コンポーネントページのレイアウト1. ロゴエリアの...

HTML 基本ノート (推奨)

1. ウェブページの基本構造: XML/HTML コードコンテンツをクリップボードにコピー<...

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...

MySQLの起動と接続方法の例分析

目次mysqldの起動方法方法 1: mysqld方法 2: mysqld_safe方法3: mys...

js の parseInt() の奇妙な動作の調査と修正

背景: parseInt(0.006) または parseInt(0.0006) は 0 という値を...

Ubuntu 18.04 は mysql 5.7.23 をインストールします

以前、Ubuntu 16.04 に MySQL をスムーズにインストールしました。今回、Ubuntu...

テーブルを動的に読み込み、削除する JavaScript

この記事では、テーブルを動的に読み込み、削除するためのJavaScriptの具体的なコードを参考まで...

MYSQLは継続サインイン機能を実装しており、サインイン後1日経過すると最初から開始します(SQL文)

1. テストテーブルを作成する テーブル `testsign` を作成します ( `userid`...

Kali Linux システムのバージョンを確認する方法

1. Kali Linuxシステムのバージョンを確認するコマンド: cat /etc/issue 2...

MySQL 結合テーブルと ID 自動増分の例の分析

結合の書き方左結合を使用する場合、左側のテーブルが必ず駆動テーブルになりますか? 2 つのテーブルの...