問題タブ [lsyncd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Linuxでのinotifyウォッチの妥当な量はどれくらいですか?
私は、inotifyを介してファイルイベントを監視し、ファイルにアクセスしたときにさまざまなタイプのイベントをトリガーするデーモンに取り組んでいます。カーネルは監視対象のすべてのファイルのフルパス名を格納しているため、監視は少し高価であることを読みました。
時計が多すぎるのはいくつですか?
編集:ほとんどの場合、私は疑問に思っています..目立ったパフォーマンスのヒットを見たことがありますか?もしそうなら、それは何台の時計で起こりましたか?はい、監視/再帰的に行う必要があります(ただし、最小限のブートストラップシステムです)。
rsync - 非 root ログインを使用するための lsync 構成
私は 5 日以上検索し、数多くのトリックやヒントを試し、さらには lsync の作成者に助けを求めようとしましたが、すべて無駄でした。
イメージがアップロードされたときにイメージ ディレクトリを同期する必要がある 2 つの Red Hat 6.3 Web サーバーがあります。アップロード先のサーバーを制御することはできませんが、アップロード時に他のサーバーにロードされることはありません。
root 以外の別のユーザーの資格情報を使用するように lsync に指示できるようにする必要があるだけです。当社の情報セキュリティ チームは、パスワードなしのルート アクセスを許可しません。私が彼らを責めているとは言えません。
ファイルを目的地に送るために必要なすべてを実行するためのsudoアクセスを持つアカウントがあります。rsync で同期を正常に実行することはできますが、lsync から実行すると、権限が拒否されたというエラーで失敗します。
ログから lsync によって実行されるコマンドをコピーし、角かっこを削除して、正常に同期することもできます。したがって、問題を引き起こしているのは lsync であると確信しています。単にルートとして実行されているためです。シェル スクリプトは、root として実行することを強制します。root 以外のアカウントに変更しようとしても、すべてのサポート ファイルがスクリプトと共に変更されましたが、依然として同期を拒否しています。
私が持っているスクリプトとファイルの詳細は次のとおりです。 OS: Red Hat Linux バージョン 6.3 (Santiago) lsyncd 構成ファイル:
rsyncd.conf ファイル:
rsyncd.conf ファイルは、変更したかった別の uid/gid を使用するように変更されました。
lsyncd.log のエラー ログは次のとおりです。
注: 私はファイルをサニタイズし、ソースとターゲットの場所に関するアプリケーションの意図をすべて理解していると想定しました。
したがって、目的を明確にするために、次のようにします。
- 負荷分散された 2 つの Web サーバーがあります。
- 画像は、送信先のサーバーを制御せずにアップロードされます。
- アップロードが発生したときに両方のサーバーを更新するデーモンとして lsyncd/rsync を使用して同期アーキテクチャを設計しています。これは、両方のサーバーが削除なしで lsyncd/rsyncd を実行する必要があることを意味します。削除なしは、両方のサーバーが同時に異なるイメージを取得した場合、どちらのサーバーが最初にターゲットをチェックした場合でも、ターゲット上のファイルはソース上にないため、ターゲット上のファイルを削除すると想定しています。
彼らは、画像を 1 つのサーバーに送信する方法を見つけようとしていると話していました。その後、削除オプションを使用して、両方のサーバーに同期サービスがあり、タイミングのために 1 つが失われることを心配することなく、両方のサーバーを正確に同期させることができました。また、一方のファイルが開いていて、もう一方のサーバーがそれを削除しようとした場合に何が起こるかわかりません。
著者に助けを求めることさえできないので、私は必死です。実行できないかもしれませんが、この強力なアプリには、セキュリティ上の懸念がある人が完全に使用できなくなるような、ばかげた小さな欠陥が 1 つあるように思われます。
ありがとう!
linux - lsyncd を使用してローカル フォルダーをリモート ソースで更新しますか?
lsyncd を使用して、次のような構成ファイルで rsyncssh を使用して、所有するサーバーにローカル フォルダーを同期しました。
ここで、「プル」を実行して、別のマシン (別のネットワーク) のローカル ディレクトリをそのリモート サーバーと同期させたいと考えています。
私はこの設定ファイルを使用しています:
しかし、私はこのエラーが発生しました:
もちろん /tmp/data は存在しますが、私が間違っていることのヒントはありますか?
リモートソースでローカルフォルダーを「最新」に保つために使用している方法で、rsyncでlsyncdを使用できるかどうか知っていますか? または、リモート ソースで rsyncssh を使用できますか?
ありがとう!
apache - lsync を使用して apache webroot ファイルを同期する - 権限の問題が発生する
私は 2 つの Web サーバー間で負荷を分散しています。つまり、すべての Apache 設定と vhosts はほとんど同じです。LSync を使用して、それらがそのまま維持されるようにしたかったのです (または、問題を解決する別の解決策がある場合)あります、教えてください)
したがって、明らかにApacheはApacheユーザーとして実行され、ルートSSHログインを有効にすることはできないため、RSAキーを使用して2つのサーバー間でSSHできるlsyncユーザーを作成しました.
そして今、私はいくつかの許可エラーに遭遇しています。これは、私が実際に起こると予想していたことです。私が今試しているのは、lsyncユーザーをapacheグループに追加し、apacheユーザーをlsyncグループに追加したことです...そして、ファイルがユーザーとグループの両方で chown 7 されている限り、それはうまくいくようです...
cron ジョブを設定して apache.apache を頻繁に chown することを考えました。グループとユーザーに対して chmod +rwx を実行することも考えましたが、他の問題が発生することは確かです。
lsync をapacheユーザーとして実行することを考えましたが、実際には .. が apache ホーム ディレクトリを所有する必要があるようです。そのため、apache ユーザーが ssh でディレクトリroot.root
から読み込もうとすると問題が発生します。.ssh
Google で調べたとき、これについてはあまり見つけることができませんでした...ほとんどの人は lsync に root ユーザーを使用していましたが、これは問題外です。
誰かが修正を持っているなら、それは素晴らしいことです! ありがとう
PS sudoers 構成を適切に構成すれば、 lsyncユーザーが sudo を介して特定のコマンドを実行できるようにすることができることを知っています...それを行う方法はありsudo chown apache.apache /var/www && sudo chmod -R u+rwx /var/www
ますか?
ssh - マスター/マスター/双方向セットアップで Lsync がファイルを正しい順序で処理しない
LSync を使用して、Apache を実行している 2 つの個別の CentOS 7 サーバーの Web ルートを同期しています。これまでのところ、問題なく動作しているように見えますが、lsync がファイルを適切に処理していないことがよくあります。
私が抱えている問題の例 - server01とserver02にhello-world.txtというファイルがあり、それをserver01から削除すると、lsync の実行時に server02 から削除するのではなく、実際に再作成されますserver01で。
私はこれについてオンラインで何も見つけていません.lsyncを使用するのは初めてなので、これを修正する方法がよくわかりません.
必要かどうかはわかりませんが、lsync 構成ファイル ( /etc/lsyncd.conf
) は次のとおりです。
どんな助けでも大歓迎です!ありがとう!
ssh - ファイルの削除時に lsyncd が ssh ユーザーを尊重しない
2 つのホスト間でデータを同期するように lsyncd をセットアップしました。ssh 接続は、id_rsa ID ファイルが一致するユーザー tomcat を使用するように構成されています。何らかの理由で、リモートでの追加/作成は正常に機能しますが、削除は機能しません。rsync がファイルを削除しようとすると、Tomcat ユーザー (作成/追加に使用される) ではなく、root ユーザーが宛先ホストへの接続に使用されます。
ログ ( /var/log/lsyncd/lsyncd.log ) には次のように表示されます。
以下の構成 ( /etc/lsyncd.conf )を使用します。
回避策として、/root/.ssh/configファイルを次のように使用できます。
もちろん、lsyncd.conf 構成で動作するはずなので、これを使用する必要はありません。
lsyncd バージョン 2.1.4を使用しています