redis-cli
サブスクライブの stdout を読み取り、メッセージが受信されたときにメッセージ値とともに何かを実行する bash スクリプトが必要です。
redis-cli
サブスクライブは、好きなように引数として渡すことができます
redis-cli --raw subscribe foo
しかし、メッセージを解析できるように、その stdout を何かにパイプする必要があります。ループを使おうと思っwhile read line; do
たのですが、1 つの redis メッセージで 3 行かかります。
アップデート
私の最終的な目標は、etcd にキーを設定して新しい redis マスターを発表することです。switch-master
これは、redis センチネルでチャネルにサブスクライブすることで達成できるはずです。[1] そのメッセージの値は次のようなものである必要があり、それを etcd の値として<master name> <oldip> <oldport> <newip> <newport>
設定したいと思います。newip
そのメッセージが受信されたときに実行したいコマンドはetcdctl set /redis/master $NEWIP