MacOSXからSSHを使用して複数のサーバーで同じコマンドを実行するプログラムはありますか?
私は csshX を使用してしまいました:
iTerm2はそれを行うことができます。サーバーごとに1つのブックマークを作成し、各ブックマークのコマンドをsshに設定します。次に、「入力をすべてのタブに送信する」機能を使用します。ブックマークウィンドウ(cmd-m)を使用して、一度に複数のブックマークを開くことができます。 https://iterm2.com/index.html
tmux-cssh
試す価値があります:
brew install tmux-cssh
tmux-cssh -u user Host1 Host2 Host3 Host4 Host5
2019-12-19アップデート
コメントで述べたように、tmux-cssh
は自作からインストールできなくなりました。とにかく、それは実際には比較的単純なシェルスクリプトであり、ここから取得できます。
https://raw.githubusercontent.com/peikk0/tmux-cssh/master/tmux-cssh
curl -O https://raw.githubusercontent.com/peikk0/tmux-cssh/master/tmux-cssh
chmod 755 tmux-cssh
./tmux-cssh -u user Host1 Host2 Host3 Host4 Host5
ClusterSSH を見てください。私はこれをOSX 10.5ワークステーションから大きな効果を上げるために使用しましたが、10.6から正しく動作することを確認できません。私はそれがうまくいくはずだと強く思っています。
これを行うためのツールがいくつかあります。一例は Parallel SSH です。 macosのソースからコンパイルする必要があるように見えますが、出発点として適切なはずです。
この linux.comの記事 は、psshがどのように機能するかを詳しく説明しています。また、そのストーリーへのコメントは Capistrano のような他の選択肢をカバーしています。以前はこの目的のためにTentakelを使用していましたが、そのプロジェクトは死んでしまったようです。
並列sshツールを使用して自動化する可能性のあるタスクの多くは、 puppet または chef または cfengine 。
ITermでこれができると思います(iterm.sf.net)
Sshマルチプレクサはいくつでも使用できます。たとえば、dsh(dancer Shell)、pdshなどです。 MacPortsを確認してください。
または、おそらくもっと簡単に:x for $(cat hosts.txt); ssh $ xを実行します。できた
シェフのナイフ、Capistrano、func、helmなど、より複雑なものも存在します。