QA@IT
«質問へ戻る

質問を投稿

SSHでlocathost側からremotehost側にコマンドを発行する

お世話になります。
SSHのことで質問します。
SSH接続でリモートホストのサーバーをいろいろコントロールするわけですが、リモートホスト側のシェルを実行するのではなく、クライアント側の方からSSHを通じてコマンドを発行することができるでしょうか?
通常、端末上ではコマンドを打ち込んで様々な作業をしますが、それらの処理をバッチ処理というかshやpl、phpなどでSSHを通じてこちら(localhost)からあちら側(remotehost)へコマンドを実行したいと考えています。

具体的に今やろうとしているとは、CMSなどのサーバー間の同期で、
-1. localhost側でDBダンプ、WEBコンテンツのtarアーカイブ。
-2. SCPで転送。
-3. tarを展開。
-4. IPやホスト名などをリモート先に合わせて置換など。DBのリストアなど。
-5. 同期完了。
というような作業です。
1〜2は、転送元でバッチ処理をしています。
3〜5は、通常リモートホスト側にあるスクリプトで処理すると思うのですが、これらのコマンドをlocalhost側からSSHを通じて発行できないのかなと思っています。1つの実行ファイルですべての動作を完了させたいと思っています。
現在1〜2はcronでshを叩いています。3〜5は転送先のcronでshを叩いています。

SCPなどはあらかじめリモート先(転送先)のディレクトリの移動などコマンドの中に含んでいるのですが、個別のコマンドをバッチ処理で実行するにはどうすればよいでしょうか?あるいはそもそも可能なのでしょう?
ちょっと説明不十分なところとシステム的におかしな記述もあるので、わかりづらいかと思いますが、よろしくお願いします。

お世話になります。
SSHのことで質問します。
SSH接続でリモートホストのサーバーをいろいろコントロールするわけですが、リモートホスト側のシェルを実行するのではなく、クライアント側の方からSSHを通じてコマンドを発行することができるでしょうか?
通常、端末上ではコマンドを打ち込んで様々な作業をしますが、それらの処理をバッチ処理というかshやpl、phpなどでSSHを通じてこちら(localhost)からあちら側(remotehost)へコマンドを実行したいと考えています。

具体的に今やろうとしているとは、CMSなどのサーバー間の同期で、
-1. localhost側でDBダンプ、WEBコンテンツのtarアーカイブ。
-2. SCPで転送。
-3. tarを展開。
-4. IPやホスト名などをリモート先に合わせて置換など。DBのリストアなど。
-5. 同期完了。
というような作業です。
1〜2は、転送元でバッチ処理をしています。
3〜5は、通常リモートホスト側にあるスクリプトで処理すると思うのですが、これらのコマンドをlocalhost側からSSHを通じて発行できないのかなと思っています。1つの実行ファイルですべての動作を完了させたいと思っています。
現在1〜2はcronでshを叩いています。3〜5は転送先のcronでshを叩いています。

SCPなどはあらかじめリモート先(転送先)のディレクトリの移動などコマンドの中に含んでいるのですが、個別のコマンドをバッチ処理で実行するにはどうすればよいでしょうか?あるいはそもそも可能なのでしょう?
ちょっと説明不十分なところとシステム的におかしな記述もあるので、わかりづらいかと思いますが、よろしくお願いします。