コマンドをバッチ実行する必要がある多くのデバイスを制御していますが、順番に正常に動作していますが、すべてを並行して実行しようとすると、plinkネットワークエラーが発生します。
実際のネットワークは問題なく動作していると確信しています(これは専用のギガビットネットワークです。他に何も実行されていません。200台のデバイスがあり、送信されるのは「Sudo再起動」だけなので、トラフィックはほとんど生成されません。
知っておくべきsshまたはPuTTYに固有の制限はありますか?順次実行するよりも速く実行したいのですが、適度なサイズのバッチで実行しても問題ありません。テストを通じてランダムに実行するのではなく、バッチサイズをどこから来ているかを認識して設定したいだけです。
現在私はこれをやっています:
(MYHOSTLIST.txt)の/ F%iの場合、plink -pw MYPASSWORD MYLOGIN @%iSudo再起動を開始します
これは、予想される200 ishコマンドのWindowsを生成した後、多くのエラーで失敗します。開始を削除すると、問題なく機能しますが、デバイスを順番に再起動するのに永遠に時間がかかります。
ここで説明されているのと同じ問題(解決策を含む): https://stackoverflow.com/questions/17472389/how-to-increase-the-maximum-number-of-child-processes-that-can-be -spawned-by-aw
ただし、それほど多くのプロセスを生成することはお勧めしません。むしろ、を使用して個々のデバイスに並列処理を配置します。
for /F %i in (MYHOSTLIST.txt) do plink -pw MYPASSWORD MYLOGIN@%i "Nohup Sudo reboot &>/dev/null &"
これは引き続きすべてのデバイスにシリアル接続しますが、再起動コマンドを開始し、すぐに切断して次のデバイスに移動するだけです。
他のオプションは、適切なオペレーティングシステムを使用してこれらのLinuxデバイスを制御することです;-)