ローカル bash スクリプト経由でリモート bash スクリプトを実行および削除する方法を教えてください

ローカル bash スクリプト経由でリモート bash スクリプトを実行および削除する方法を教えてください

私は、スクリプトをリモート サーバーに scp し、リモート サーバーに ssh (すでにインストールされている ssh キーを使用) し、アップロードされたスクリプトを実行し、終了したらリモート スクリプトを削除する bash スクリプトを作成しようとしています。bash スクリプト内で ssh セッションを実行する方法がわかりません。コマンド ラインからこれを行うために使用するコマンドは次のとおりです。

scp my_script.sh [email protected]:/usr/home/user/
ssh [email protected]
>sh my_script.sh
>rm myscript.sh
>exit

コマンド リストの ssh 部分をスクリプト化するにはどうすればいいですか? ありがとうございます!

答え1

ssh は、引数として渡されたコマンドをリモート マシン上で実行します。次のようにすれば、必要な処理が実行されるはずです。

ssh [email protected] 'sh my_script.sh; rm my_script.sh'

答え2

ファイルのコピーと削除をスキップして、次のような操作を行うこともできます。

cat my_script.sh | ssh user@host bash

答え3

SSH 経由のシステム管理者向けの Python ライブラリである Fabric の使用を検討することもできます。

http://docs.fabfile.org/0.9.1/

使い始めるのは非常に簡単ですが、特に複数のサーバー間で非常に強力です。

関連情報