flock

クラスタを使用すると、待たずにすぐにシャットダウンします。
flock

クラスタを使用すると、待たずにすぐにシャットダウンします。

-n私は長い間国旗の意味について混乱していましたflock(1)。 基本的にこのツールのガイドはたくさんありますが、私たちがよく見るものは次のとおりですflock -n 100。ここでは、fd番号100が特定のロックファイルに関連付けられてロックを実行するために使用されます。 いくつかの簡単なテストを実行すると、flockすぐに失敗して終了するため、今日は混乱しました。 -nフラグは正確に何をしますかflock?-n 100ファイル記述子番号100をロックされたファイルに関連付けるのは正しいですか? ...

Admin

敗戦で鶏が最初か卵が最初かという奇妙な質問
flock

敗戦で鶏が最初か卵が最初かという奇妙な質問

このbashコマンドのいくつかのステップはどの順序で完了しますか? (flock -n 9) 9> toto.txt サブシェル部分のみを実行する場合: (flock -n 9) 私は次の結果を得ました:( flock: 9: Mauvais descripteur de fichier間違ったファイル記述子)。 したがって、サブシェルが最初に(...) 9> toto.txt。 しかし、これを行うと: (ls -l /proc/$$/fd) 9> toto.txt total 0 lrwx------ 1 laurent laur...

Admin

Ubuntu 22.04で固定ビットの影響を受けないUbuntuユーザー
flock

Ubuntu 22.04で固定ビットの影響を受けないUbuntuユーザー

/ tmpディレクトリとクラスタコマンドの永続ビットで奇妙な動作が発生します。 2つのシナリオを試しました。 状況1:Ubuntuユーザーを使用してファイルを生成します。ルートには、生成されたファイルにアクセスする権限がありません。 ubuntu@:~$ touch -a /tmp/ubuntu_user_created.lck ubuntu@:~$ flock -n /tmp/ubuntu_user_created.lck -c "echo 123" 123 ubuntu@:~$ sudo flock -n /tmp/ubuntu_user_created...

Admin

互いに呼び出すことができるスクリプトの共有ロック
flock

互いに呼び出すことができるスクリプトの共有ロック

これは珍しい問題であり、誤った設計によって発生する可能性があります。誰でも良い提案があれば聞きたいです。しかし、今は「現状のまま」解決したいと思います。 インタラクティブなスクリプトがたくさんあります。質問の目的には重要ではありません。完全性のために、これらのスクリプトはOracleデータベーススタンバイノードを物理スタンバイとスナップショットスタンバイの間で切り替え、スナップショットデータベースを作成し、レポートチームにいくつかの割り当てを追加し、古いアーカイブログを解放します。コース 。 持っている: delete_archivelogs.sh swi...

Admin

テストファイルのロック
flock

テストファイルのロック

ファイルへの同時アクセスを避けるためにファイルをロックするスクリプトがあります。 2つの異なる端末で同じスクリプトを同期的に実行して動作することを確認するにはどうすればよいですか? これはスクリプトです。 #!/bin/bash ( flock -xn 200 trap 'rm /tmp/test_lock.txt' 0 RETVAL=$? if [ $RETVAL -eq 1 ] then echo $RETVAL echo "file already removed" exit 1 else e...

Admin

WindowsのWaitForMultipleObjectsなど、より高いレベルの機能をLinuxに追加する予定はありますか?
flock

WindowsのWaitForMultipleObjectsなど、より高いレベルの機能をLinuxに追加する予定はありますか?

WaitForMultipleObjectsは、呼び出しスレッドを中断し、リソースなどが利用可能になるまで他のスレッドと同期できる複数のWindowsカーネル関数の1つです。 Linuxのクラスタリングと似ていますが、ファイルロックを除くすべてを処理します。 WaitForMultipleObjectsは、さまざまなイベント(変更通知、コンソール入力、イベント、メモリ通知、ミューテックス、プロセス、セマフォ、スレッド、およびタイマーを混在させることができます)、タイムアウトまたはポーリングオプション、AND / ORオプション、およびレポートを最初にサポート...

Admin

共有リモートリソースへのアクセスの同期
flock

共有リモートリソースへのアクセスの同期

複数のクライアントが読み書きするリモートサーバーに共有キャッシュがあるため、このキャッシュへのアクセスを同期する必要があります。私の考えに私はできます: リモートでSSH経由でサーバーにクラスタをインポートします。 サーバーへの更新のプッシュ (rsync) 群れを解放する Flock自体は機能しますが、すべてが機能するには、クライアントがキャッシュを更新している間にロックを取得して保持できるプロセスをリモートで開始する方法が必要です。その後、クライアントとの接続が切断されたら、3からクライアントからクラスターを解放する必要があります。これを達成する方法...

Admin

lockfコマンドを使用してevalを実行するには?
flock

lockfコマンドを使用してevalを実行するには?

eval以下のように実行コマンドがあります。 #! /bin/sh readonly scr="MYENV=1 sh /tmp/scr.sh" eval ${scr} -a 1 -b 2 scrこれでユーティリティを使ってスクリプトを実行したいlockfので、次のように変更しました。 #! /bin/sh readonly scr="MYENV=1 sh /tmp/scr.sh" lockf -k /tmp/f.lock eval ${scr} -a 1 -b 2 次のエラーが発生します。 lockf: eval: No such file or...

Admin

if-elseを使用したクラスタリングは安全ですか?
flock

if-elseを使用したクラスタリングは安全ですか?

並列に実行される2つのシェルスクリプトがありますが、一度に1つずつあります。どちらのスクリプトも初期設定ステップを使用するため、時間がかかり、同時に実行することはできません。 残りの並列実行を可能にするには、次のように制御フローの設定ステップをラップします。flockに基づいてこの提案。 これ〜らしいうまくいきますが、if-else構文が完全に安全であるかどうかはわかりません。ここに私が見逃した隠された問題はありますか? set -euxo pipefail ( # Only run setup if we're the first to acqui...

Admin

Linuxでの古いファイルロックの処理とクラスタの強力な使用
flock

Linuxでの古いファイルロックの処理とクラスタの強力な使用

cronを介して定期的に(数分ごとに)実行されるスクリプトがあります。しかし、スクリプトは何度も並列に実行されず、時には少し時間がかかるので、いくつかのロックを実装したいと思います。つまり、以前のインスタンスがすでに実行されている場合は、スクリプトが早く終了していることを確認してください。 さまざまな提案に基づいて、次のロックが作成されました。 lock="/run/$(basename "$0").lock" exec {fd}<>"$lock" flock -n $fd || exit 1 スクリプトの他のインスタンスがまだ実行されている場...

Admin

rsyncスクリプトはCentOS 7では動作しますが、同じスクリプトはRHEL 7では動作しません。
flock

rsyncスクリプトはCentOS 7では動作しますが、同じスクリプトはRHEL 7では動作しません。

CentOS7には3つのノードがあり、RHEL7には1つのノードを持つ仮想マシンクラスタがあります。 crontabにはrsyncが有効なディレクトリがあり、/mnt/<server_IP>/portal/wso2telcohub-3.0.2/repository/deployment/server/synapse-configs/default/api/ 設定は次のとおりです。 $ incrontab -l /mnt/<server_IP>/portal/wso2telcohub-3.0.2/repository/deployme...

Admin

クラスタロックファイルだけを見ると、プロセスでコマンドが実行されていることがわかりますか?
flock

クラスタロックファイルだけを見ると、プロセスでコマンドが実行されていることがわかりますか?

はいユーティリティLinuxflockflock()Linux C APIに基づいて実装されていますか? ロックファイルだけを見ると、プロセスでコマンドが実行されていることがわかりますか?デーモン化されたコマンドのflock実行が完了すると、ロックファイルは変更されないようです。実行中と完了後の様子は次のとおりです。 $ ls -l ../sleep.flock.file -rw-rw-r-- 1 t t 0 Oct 30 14:01 ../sleep.flock.file $ ls -l ../sleep.flock.file -rw-rw-r--...

Admin