私には 2 台のサーバー (Linux 2.6.32-696.el6.x86_64) があり、fe1 と fe2 を想定しています。
コマンドを実行する必要があります(サービス tomcat 開始/停止)をfe2からfe1に渡すが、ルートとしてsudo. 私が使用しているコマンドsudo ルートはsudo su
#!/bin/sh
host=fe2
user=`whoami`
sftp $user@fe2 << EOF
sudo su
service tomcat stop
bye
EOF
他の方法でできますか?
答え1
次のように、fe1からfe2にssh経由で任意のコマンドを送信できます。
ssh whoami@fe2 'sudo service tomcat start'
ssh
1つのサーバーから他のサーバーに複数のコマンドを実行したい場合は、次のように;
thの中に別のコマンドを入れます。' '
ssh whoami@fe2 'sudo -s; service tomcat start; service tomcat status; other_commands; '
ssh
これらすべてをあなたが述べた順序で実行します。すべてのstdin
リクエストはコマンドサーバーから取得され、stdout
またはの出力stderror
も転送されます。ssh