私は10台のVPSマシンを使用しており、それらすべてで頻繁に変更する必要があるこの1つのスクリプトを実行する必要がありますが、変更する必要があるたびに10か所で変更したくありません。
スクリプトをプレーンテキストファイルとしてリモートHTTPサーバーに配置しました。このファイルをwget
してコンテンツを実行できれば、それは素晴らしいことです。
しかし、私はそれを行う方法がわかりません、または私の目標を達成するための代替方法があるかどうか?
危険性を理解している限り、出力をシェルにパイプすることができます。
wget -O - http://foo.com/somescript | sh
これは、プッシュまたはプルの方法で実行できます。
プル方式で実行したい場合は、wget
またはcurl
を使用できます。各ホストから:
wget -O- http://foo.com/somescript | bash
または
bash <(wget -O- http://foo.com/somescript)
ただし、プッシュ方式の方が簡単な場合があります。中央ホストから:
for Host in Host1 Host2 Host3; do
cat script.sh | ssh "$Host" bash
done
別のオプションは、puppet
またはchef
を使用することです。しかし、あなたがしていることに応じて、それは少しやり過ぎかもしれません。