それは私のローカルマシン上のサーバと、実行スクリプトにsshをします、入力を受け取り、シェルスクリプトを書くことは可能ですか?

NTWorthy:

私は私のローカルマシン上でいくつかのスクリプトを持っています。これらのスクリプトは、セットアップに私のElasticsearchノードをインストールし、構成コマンドを実行します。私は15個のノードが来ており、私たちは間違いなく手でそれを行うにはしたくありません。

今のところ、のScript_A、Script_B、Script_CとScript_Dそれらを呼びましょう。

Script_Aはproccesを開始するいずれかになります、それは現在含まれています。

#!/bin/bash

read -p "Enter the hostname of the remote machine: " hostname
echo "Now connecting to $hostname!"

ssh root@$hostname

これは明らかに正常に動作し、私は私が必要とする任意のサーバに取得することができます。私の混乱は、リモートで他のスクリプトを実行しています。私はいくつかの他の記事/ SOの質問を読んだんだけど、方法論を理解していませんよ。

次のように私は私のマシン上のディレクトリを持っています。

Elasticsearch_Installation
|
|=> Scripts
    |
    |=> Script_A, Script_B, etc..

私は以上のファイルを移動せずに、リモートサーバー内にので、私の地元に戻ってくるとScript_Bを実行し、サーバーにリモートScript_Aを、実行し、することはできますか?

はるかに少ないネットワーク上のスクリプトからのリモートインストールを実行している..私は一般的なLinux環境にかなり新たなんだ、このニーズのいずれかを明確にする場合は私に知らせてください。

ジョン・ボリンジャー:

あなたはより大きな問題持って設定する多くのノードを:あなたも、これらすべてのノードの継続的なメンテナンスや管理を気にする必要があります。これは、構成管理、このような人形、Ansibleようなシステム、等が動作する空間です。しかし、これらは克服するための学習曲線を持っている、と彼らは自分の一部のインフラストラクチャを必要としています。おそらく、中・長期的にはそれらのいずれかから利益を得るであろうが、あなたの新しいノードが来週(ISH)に来ているならば、あなたはおそらく、あなたがアップし、軌道に乗るためにすぐに使用できるソリューションを求めています。

確かにあなたは非対話を含め、そこにコマンドを実行するために、サーバにsshをすることができます。

私の混乱は、リモートで他のスクリプトを実行しています。

あなたがリモートマシン上で独自のスクリプトを実行したい場合はもちろん、彼らは最初、そこに存在していなければなりません。あなたが持っている場合のためにしかし、これは、大きな問題ではありませんssh、あなたも持っているscp、安全なコピープログラム。これは、リモートマシンにファイルをコピーすることができ、このような何か:

#!/bin/bash

read -p "Enter the hostname of the remote machine: " hostname
echo "Now connecting to $hostname!"

scp Script_[ABCD] root@${hostname}:./
ssh root@hostname ./Script_A

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=33615&siteId=1