2016-04-19 44 views
1

LSyncを使用して、Apacheを実行している2つの別のCentOS 7サーバーのWebルートを同期しています。これまでのところ、うまく走っているようですが、lsyncがファイルを適切に処理しないことがよくあります。マスターマスター/双方向設定でLsyncが正しい順序でファイルを処理していません

私がいる問題の例 - 私はファイルを持っている場合は、SERVER01とServer02のハローworld.txtと呼ばれる、と私はSERVER01、LSYNCを実行すると、代わりにそれを削除しますserver02から削除すると、server01に実際に再作成されます。

私はこれについてオンラインで何かを見つけられませんでした。私はlsyncを初めて使用しているので、これを修正する方法についてはあまりよく分かりません。

ないそれが必要だと確信しますが、ここではLSYNC設定ファイル(/etc/lsyncd.conf)です:

settings { 
    logfile = "/var/log/lsyncd.log", 
    statusFile = "/var/log/lsyncd.stat", 
    statusInterval = 2 
} 

sync { 
    default.rsync, 
    source="/var/www/", 
    target="192.168.1.36:/var/www/", 
    rsync={ 
     rsh = "/usr/bin/ssh -l lsync -i /etc/lsync/.ssh/id_rsa", 
    } 
} 

すべてのヘルプは感謝だろう!ありがとう!

+0

* lsyncdを起動するとき、またはlsyncdが*実行中のときにファイルを削除するときにファイルが再作成されますか? – ams

答えて

1

lsyncd双方向同期は行いません。その目的はこのディレクトリのように見えるディレクトリを作成することです。

rsyncをcronジョブとして実行すると、同じ効果が得られます。唯一の違いは、ファイルが変更されたときにlsyncdが応答しやすく、ファイルがアイドル状態のときにlsyncdが効率的であることです。

両方のサーバーでlsyncdをセットアップして両方向で同期させてから、必要なものが得られるかもしれませんが、更新があまり速くないことに依存します(server01がserver02、server02その変更を検出し、server01に直ちに送信しようとします。そのファイルが変更されていない限り無害です。)。私はこの設定をお勧めしません。 SyncThingを使用するか、「マスター」サーバーのみを編集してください。

+0

"両方のサーバーでlsyncdをセットアップして、両方向で同期をとることができます。更新があまり頻繁に行われるべきではありません。 – Justin

+0

それは質問の関連情報でした! – ams

+0

'default.rsync'ではなく' default.rsyncssh'を試してみることができます。設定が必要なオプションにはいくつかの違いがあるため、ドキュメントを参照してください。ポイントは 'rsync'を使ってファイルを削除する代わりに' ssh rm 'を実行するという点です。 – ams

関連する問題