目次
1.
    tail -f  /opt/soft/log/rsync.log
ログイン後にコピー
" >
    tail -f  /opt/soft/log/rsync.log
ログイン後にコピー
ホームページ 運用・保守 Linuxの運用と保守 Linux で 2 つのサーバー間でリアルタイムのファイル同期を実装する方法

Linux で 2 つのサーバー間でリアルタイムのファイル同期を実装する方法

Jun 07, 2017 am 10:31 AM

次の要件を仮定します:

2 つのサーバーを仮定します:

192.168.0.1 ソースサーバーにはディレクトリ /opt/test/

192.168.0.2 があります ターゲットサーバーにはディレクトリ /opt/bak/test/

目的実装の目的は、2 つのサーバーの特定のファイル ディレクトリでリアルタイム同期を維持することです

実装方法: rsync+inot の組み合わせを通してify-tools

準備:

まず、 2台のマシンへの信頼関係、具体的な方法 前回の記事で紹介しました

詳細を見る: linux信頼関係とパスワード不要のログインを追加

必要なインストール ソフトウェア:

1.

ソースサーバーとターゲットサーバーの両方にインストールする必要があります

ソースサーバー: これは rsync クライアントであり、設定は必要ありません

ターゲットサーバー: これは rsync サーバーであり、/etc/rsyncd.conf の内容は必要ありません構成するには

2. inotify-toolsツール

このツールは、Linuxオペレーティングシステムのカーネルサポートを必要とします。カーネルサポートには、少なくともバージョン2.6.13が必要です

オペレーティングシステムがサポートしているかどうかを確認してください。次のように実行します:

uname -r バージョンの表示

戻り値:

    2.6.32-358.6.1.el6.x86_64
ログイン後にコピー

これは、バージョン 2.6.32 が 2.6 よりも大きいことを意味し、サポートされています。

実行:

    ll /proc/sys/fs/inotify
    total 0
    -rw-r--r-- 1 root root 0 Oct 18 12:18 max_queued_events
    -rw-r--r-- 1 root root 0 Oct 18 12:18 max_user_instances
    -rw-r--r-- 1 root root 0 Oct 18 12:18 max_user_watches
ログイン後にコピー

3 つの出力がある場合、inotify がデフォルトでサポートされており、inotify-tools ツールをインストールできることを意味します

サポートされていない場合は、新しいバージョンの Linux オペレーティング システムが必要です

バージョンが要件を満たしていればインストールできます。

inotify-tools をインストールすると、関連するインストール ディレクトリに次の 2 つのファイルが生成されます:

    ll /usr/local/bin/
    total 88
    -rwxr-xr-x 1 root root 44327 Oct 10 15:32 inotifywait
    -rwxr-xr-x 1 root root 41417 Oct 10 15:32 inotifywatch
ログイン後にコピー

これは、インストールが成功したことを意味します。

注: inotify はソース サーバーにインストールする必要がありますが、ターゲット サーバーにインストールする必要はありません。

3. 関連スクリプト:

ソースサーバー上に新しいスクリプトを作成します:

inotify_bak.sh

    #!/bin/bash
    src=/opt/test/
    /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,delete,create,attrib $src |  while read file
    do
          /usr/bin/rsync -arzuq $src 192.168.0.1::www/
          echo "  ${file} was rsynced" >>/opt/soft/log/rsync.log 2>&1
    done
ログイン後にコピー

実行権限を付与します:

chmod +x inotify_bak.sh

次に実行します: nohup inotify_ bak.sh & put バックグラウンド実行

4. 起動について

ターゲットサーバー: 最初に rsync バックグラウンドサービスを起動します: /usr/bin/rsync --daemon

ソースサーバー: inotify_bak.sh &

を実行します。ソース サーバー ディレクトリ inotify_bak.sh スクリプトで新しいディレクトリとファイルを作成し、それらをターゲット サーバーの関連ディレクトリに同期します。 ログ ファイルを表示できます。 /opt/soft/log/rsync.log コマンドは次のとおりです。 : リアルタイム同期を観察します。

    tail -f  /opt/soft/log/rsync.log
ログイン後にコピー

エラー解決:

/usr/local/bin/inotifywait: error while loading shared libraries: libinotifytools.so.0: cannot open shared object file: No such file or directory
ログイン後にコピー

これはライブラリファイルが見つからないためです。ソフト接続を行ってください

ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0
ログイン後にコピー

以上がLinux で 2 つのサーバー間でリアルタイムのファイル同期を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

メンテナンスを停止した後のCentosの選択 メンテナンスを停止した後のCentosの選択 Apr 14, 2025 pm 08:51 PM

Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

Docker画像が失敗した場合はどうすればよいですか Docker画像が失敗した場合はどうすればよいですか Apr 15, 2025 am 11:21 AM

障害のあるDocker画像ビルドのトラブルシューティング手順:DockerFileの構文と依存関係バージョンを確認します。ビルドコンテキストに必要なソースコードと依存関係が含まれているかどうかを確認します。エラーの詳細については、ビルドログを表示します。 -targetオプションを使用して、階層フェーズを構築して障害点を識別します。 Dockerエンジンの最新バージョンを使用してください。 -t [image-name]:デバッグモードで画像を作成して、問題をデバッグします。ディスクスペースを確認し、十分であることを確認してください。 Selinuxを無効にして、ビルドプロセスへの干渉を防ぎます。コミュニティプラットフォームに助けを求め、DockerFilesを提供し、より具体的な提案のためにログの説明を作成します。

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

See all articles