ホームページ 運用・保守 Linuxの運用と保守 rsync+inotify リアルタイム同期のサンプル チュートリアルを共有する

rsync+inotify リアルタイム同期のサンプル チュートリアルを共有する

Jun 20, 2017 am 11:57 AM
同期する リアルタイム

1.rsync

従来のcptarのバックアップ方法と比較して、rsyncには、高いセキュリティ、高速バックアップ、rsyncによる増分バックアップのサポートという利点があります。ファイル サーバー データのリモート サーバーへの定期的なバックアップ、ローカル ディスクの定期的なデータ ミラーリングなど、高いリアルタイム パフォーマンスを必要としないデータ バックアップのニーズを解決できます。

アプリケーション システムの規模が拡大し続けるにつれて、データのセキュリティと信頼性に対する要件が高まり、ハイエンド ビジネスでは rsync の多くの欠点が徐々に明らかになってきました。まず、rsyncがリアルタイムで同期している場合、比較と差分送信のためにすべてのファイルをスキャンする必要があります。ファイルの数が数百万、さらには数千万に達した場合、すべてのファイルをスキャンするのは非常に時間がかかり、ファイルのごく一部のみが変更されるため、非常に非効率な方法になります。第二に、rsyncはリアルタイムでデータを監視および同期することができませんlinux デーモンを介して開始同期を実行できますが、2 つの開始アクションの間に時間差が必要になるため、サーバーとクライアントの間で不整合が発生し、アプリケーション障害が発生した場合にデータを完全に回復することができなくなります。 。上記の理由から、rsync+inotifyが登場しました!

2.inotify

(監視)

inotify

は、強力できめの細かい非同期ファイル システム イベント監視メカニズムです。 inotify を通じて、ファイル システム内の追加、削除、変更、移動などのさまざまな微妙なイベントを監視できます。このカーネル インターフェイスを使用すると、サードパーティ ソフトウェアはファイル システム内のさまざまな変更を監視でき、inotify を実行できます。 - tools はサードパーティ ソフトウェアです。

1.

サーバー設定 (rsyncのインストールのみが必要)

/tmp/に共有:

1.

仮想を追加user useradd rsync -s / sbin/nologin

chown -R rsync.rsync /tmp/

2.

設定rsyncd.conf設定ファイル

vim rsyncd.conf

#rsync_config_______________start

#rsyncd.conf start##

uid = rsync (ユーザー)

gid = rsync (ユーザー)

use chroot = no (セキュリティの問題を防ぐため)

最大接続数 = 200 (バックアップ サーバーに接続できるクライアントの数)

timeout = 300 (タイムアウト、何もせずに切断するまでにかかる時間)

pid file = /var/run/rsyncd.pid (プロセス番号、このファイルにプロセス番号を入れてください)

lock file = /var/run/rsync.lock (「ロック」の概念、トイレのドアをロックする概念に相当)

log file = /var/log/rsyncd.log (エラー、ログ ファイルを表示できます)

[tmp] (モジュール)

path = /tmp/ (パス)

エラーを無視する (エラーを無視する)

読み取り専用 = false (読み取り専用は false、読み取り可能および書き込み可能を意味します)

list = false (許可されていないリスト)

hosts allowed = 10.0.0.0/24 (許可されたホスト)

hostsdeny = 0.0.0.0/32 (拒否されたホスト)

auth users = rsync_backup (仮想ユーザーをサポート)

secrets file = /etc/rsync.password (ユーザーの対応するパスワード) ファイル)

#rsync_config_______________end

3. パスワードファイルを作成します

echo “rsync_backup:123456” >/etc/rsync.password

すべてのパスワードファイル600権限 chmod 600 /etc/ rsync.password

4.rsync --daemon デーモン

モード起動

5. rsync --daemon/etc/rc.local

に追加します

echo “/usr/bin/rsync --daemom” >>/etc/rc.local

2. クライアント設定

インストール rsyncinotify

1. rsyncをインストールする() おいしいインストールするだけです)

2パスワード認証ファイルを作成します

echo “123456” >/etc/rsync.password パスワードのみ必要です

権限を設定します 600 chmod 600 /etc/rsync.password

3. inotifyをインストールします:

cd /home/cai/tools/

wget

54 tar inotify-tools-3.14.tar.gz

55 ls

56 cd inotify-tools-3.14

57 ./configure --prefix=/usr/local/inotify-tools-3.14

58 make && make install

59 おいしいinstall -y gcc

60 ./configure --prefix=/usr/local/inotify-tools-3.14

61 make && make install

62 cd /usr/local/inotify-tools- 3.14/

63 ls

64 ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify

4. スクリプトはすべてです。配置されました /server/scriptsダウンロード

vim /server/scripts/rsync.sh

#!/bin/sh

host=192.168.76.129

s rc=/tmp/

des=tmp

user=rsync_backup

/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d%m%y %H:%M' --format ' %T %w%f%e' -e 変更、削除、作成、属性 $src |

ファイル読み取り中

do

/usr/bin/rsync -avz --delete $src $user@$host::$des --password-file=/etc/rsync.password

echo "${files} が rsync されました" >>/var/log/rsyncd.log 2>&1

完了

終了

~

764権限を与えるテストスクリプト: sh /server/scripts/rsync.sh

スクリプトを実行する: sh /server/scripts/rsync.sh &

起動項目にrsync.sh

スクリプトを追加します:

echo

“/tmp/rsync.sh” >/etc/rc .local

以上がrsync+inotify リアルタイム同期のサンプル チュートリアルを共有するの詳細内容です。詳細については、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)

win11でヘッドフォンとスピーカーを同時に再生する問題を解決する win11でヘッドフォンとスピーカーを同時に再生する問題を解決する Jan 06, 2024 am 08:50 AM

一般的に、同時に使用する必要があるのはヘッドフォンまたはスピーカーのいずれか 1 つだけですが、Win11 システムでヘッドフォンとスピーカーが同時に鳴るという問題が発生したと友人が報告しています。 Realtek パネルでオフにすれば問題ありません。以下を見てみましょう。 win11 でヘッドフォンとスピーカーが一緒に聞こえる場合はどうすればよいですか? 1. まず、デスクトップで「コントロール パネル」を見つけて開きます。 2. コントロール パネルに入り、「ハードウェアとサウンド」を見つけて開きます。 3. 次に、「」を見つけます。 Realtek High Definition" とスピーカーのアイコン。オーディオマネージャー" 4. [スピーカー] を選択し、[リアパネル] をクリックしてスピーカー設定に入ります。 5. 開くとデバイスの種類が表示されるので、ヘッドフォンをオフにしたい場合は、「ヘッドフォン」のチェックを外します。

同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません 同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません Mar 18, 2024 am 09:46 AM

同期フォルダー内の 1 つ以上のアイテムが Outlook のエラー メッセージと一致しない場合は、会議アイテムを更新またはキャンセルしたことが原因である可能性があります。この場合、ローカル バージョンのデータがリモート コピーと競合していることを示すエラー メッセージが表示されます。この状況は通常、Outlook デスクトップ アプリケーションで発生します。同期したフォルダー内の 1 つ以上のアイテムが一致しません。競合を解決するには、プロジェクトを開いて操作を再試行します。同期フォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しない問題を修正する Outlook デスクトップ バージョンでは、ローカルの予定表アイテムがサーバー コピーと競合すると問題が発生する可能性があります。ただし幸いなことに、それを助ける簡単な方法がいくつかあります

Java と WebSocket の組み合わせ: リアルタイムのビデオ ストリーミングを実現する方法 Java と WebSocket の組み合わせ: リアルタイムのビデオ ストリーミングを実現する方法 Dec 17, 2023 pm 05:50 PM

インターネット技術の継続的な発展に伴い、リアルタイムビデオストリーミングはインターネット分野における重要なアプリケーションとなっています。リアルタイムのビデオ ストリーミングを実現するための主要なテクノロジには、WebSocket と Java が含まれます。この記事では、WebSocket と Java を使用してリアルタイムのビデオ ストリーミング再生を実装する方法を紹介し、関連するコード例を示します。 1. WebSocket とは WebSocket は、単一の TCP 接続で全二重通信を行うためのプロトコルであり、Web 上で使用されます。

JavaScript ベースのリアルタイム翻訳ツールの構築 JavaScript ベースのリアルタイム翻訳ツールの構築 Aug 09, 2023 pm 07:22 PM

JavaScript ベースのリアルタイム翻訳ツールの構築 はじめに グローバル化の需要が高まり、国境を越えた交流や交換が頻繁に行われるようになったことで、リアルタイム翻訳ツールは非常に重要なアプリケーションとなっています。 JavaScript といくつかの既存の API を活用して、シンプルだが便利なリアルタイム翻訳ツールを構築できます。この記事では、JavaScript をベースにこの機能を実装する方法をコード例とともに紹介します。実装手順 ステップ 1: HTML 構造の作成 まず、単純な HTML を作成する必要があります。

C++ を使用して組み込みシステムのリアルタイム オーディオおよびビデオ処理機能を実装する C++ を使用して組み込みシステムのリアルタイム オーディオおよびビデオ処理機能を実装する Aug 27, 2023 pm 03:22 PM

C++を活用して組み込みシステムのリアルタイム音声・映像処理機能を実装 組み込みシステムの応用範囲はますます広がり、特に音声・映像処理分野では需要が高まっています。このような需要に直面して、C++ 言語を使用して組み込みシステムのリアルタイム オーディオおよびビデオ処理機能を実装することが一般的な選択肢になりました。この記事では、C++ 言語を使用して組み込みシステムのリアルタイム オーディオおよびビデオ処理機能を開発する方法と、対応するコード例を紹介します。リアルタイムのオーディオおよびビデオ処理機能を実現するには、まずオーディオおよびビデオ処理の基本プロセスを理解する必要があります。一般的に言えば、オーディオとビデオ

JavaScript に基づいてリアルタイムの株価表示を構築する JavaScript に基づいてリアルタイムの株価表示を構築する Aug 08, 2023 am 08:03 AM

JavaScript に基づいたリアルタイム株価表示の構築の概要: 金融市場の継続的な発展に伴い、リアルタイム株価表示は投資家やトレーダーにとってますます重要になってきています。現代の取引プラットフォームでは、リアルタイムの株価表示機能を提供することが不可欠です。この記事では、JavaScript といくつかの関連テクノロジを使用して、シンプルなリアルタイム株価表示アプリケーションを構築する方法を紹介します。準備作業 開始する前に、次の作業を準備する必要があります: HTML と CSS に基づく Web ページのフレームワーク

iPhone の Apple TV アプリでライブアクティビティを無効にする方法 iPhone の Apple TV アプリでライブアクティビティを無効にする方法 Jun 29, 2023 pm 01:50 PM

ライブ イベントは、今後の注文やスポーツの試合などの最新情報を把握するのに最適な方法です。この新しい通知方法は iOS 16 のリリースで初めて導入され、iPhone への通知配信方法を改善するために設計されました。リアルタイム データを提供するアプリケーションはどれもリアルタイム アクティビティを活用でき、多くの一般的な用途は保留中の注文、進行中の試合のスコア、気象データ、今後のライブ ブロードキャストなどの追跡です。ライブ アクティビティは、スタンバイ モードでも常に通知センターに表示されます (スタンバイ モードを有効にし、iPhone がドッキングされている場合)。ただし、中断のないエクスペリエンスを得るために Apple TV を使用する場合は、ライブ アクティビティを無効にすることができます。 iPhone でそれを行う方法は次のとおりです。 Apple TVを無効にする方法

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

See all articles