問題タブ [parallel-ssh]
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.
python - Parallel-SSH - 特定の時間後にsshチャネルを閉じる方法は?
さて、この質問に対する答えは単純に「parallel-ssh の使用をやめて、netmiko/paramiko を使用して独自のコードを記述してください。また、すでに Python 3 にアップグレードしてください」である可能性があります。
しかし、ここに私の問題があります。私は一度に 80 台ものデバイスをヒットしようとするために、parallel-sshを使用しています。これらのデバイスは信頼性が低いことで有名で、1 行または 2 行の出力を行った後にフリーズすることがあります。次に、parallel-ssh コードが何時間もハングアップし、スクリプトを実行したままにします。週末の後でスクリプトを実行している VM にジャンプしたところ、52 時間スタックしているジョブが表示されました。
私の最初のコードの関連部分、ハングするもの:
次に試したのはchannel_timoutオプションです。コマンド出力を取得するのに 4 分以上かかる場合は、デバイスがフリーズしていることがわかるので、スクリプトの後半で次のサイクルに進む必要があります。
このバージョンは、実際には何にも接続しません。何かアドバイス?一定時間後にsshセッションを強制終了しようとするchannel_timeout以外のものを見つけることができませんでした。
python - pssh.clients の使用時に Python の parallel-ssh run_command がタイムアウトしない
次のコードがあります。
私のホストがすべて有効な IP を持っている場合、「出力」が得られます。ただし、IP の 1 つでも無効な場合 (ホストが存在しない場合)、run_command は永久にハングします。run_command に「use_pty=True」引数を使用してみました。
奇妙なことに、クライアントの代わりに非推奨のメソッドpssh_clientを使用すると、次のようになります。
期待どおりにタイムアウトします。インポートの新しい方法で導入されたバグがあるか、タイムアウトを適切に指定する新しい方法があります。非推奨の方法ではなく、推奨される方法を使用したいと思います。しかし、推奨される方法は私にはうまくいきません。私がここで何か間違っているかどうか誰にも分かりますか?
python - Python: parallel-ssh を使用して複数のサーバーに ssh コマンドを送信し、そのうちの 1 つが使用できない場合は完全に失敗します
私はこのように使用します:
今何が得られますか: 例外です。
一部のホストに接続できませんでした: ("ホスト '%s:%s' への接続中にエラーが発生しました - %s - %s/%s を再試行してください", '192.168.100.161', 22, 'タイムアウト', 1, 1)
取得したいもの: 利用可能なサーバーからの応答 利用できないサーバーからのエラー
どうやってそれを達成するのですか?