
私は、スクリプトをリモート サーバーに 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/
使い始めるのは非常に簡単ですが、特に複数のサーバー間で非常に強力です。