リモートでcurl
コマンドを実行するために必要なIPアドレスのリストがあります。 for
ループを使用して、ipsを反復処理しています。Python - サブプロセスに変数を送信する
私はリモートで実行する必要があるコマンドが
curl --silent http://<IP>:9200/_cat/master | awk '{print $2}'
は、上記の出力は私のクラスタ内のマスターノードのIPアドレスが返されますです。
マイ符号状態
status = subprocess.Popen(["ssh", "%s" % ip, "curl http://ip:9200/_cat/master | awk '{print $2}'"], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
私はトラブル私のコマンドの一部としてip
変数を渡すを持っています。
私もこれをやってみました。
status = subprocess.Popen(["ssh", "%s" % ip, "curl http://",ip,":9200/_cat/master | awk '{print $2}'"], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
しかし、動作するようには思えません。これをどのように機能させることができますか?
で次のコマンドを実行するマシンにSSHで接続する必要がありますか? – Pigueiras
@Pigueirasファイアウォールの制限により、curlコマンドはログオンしているノードでのみ実行できます。 –