私は2つのサーバー(Linux 2.6.32-696.el6.x86_64)を持っています。 fe1とfe2だとしましょう。
コマンドを実行する必要があります(サービストムキャットスタート/ストップ)fe1からfe2に変更する必要がありますが、root sudo。私が使用するコマンドSudoルートはsudo su
#!/bin/sh
host=fe2
user=`whoami`
sftp $user@fe2 << EOF
sudo su
service tomcat stop
bye
EOF
別の方法でできますか?
答え1
以下のように、sshを介してfe1からfe2にコマンドを送信できます。
ssh whoami@fe2 'sudo service tomcat start'
ssh
あるサーバーで、以下;
のように別のコマンドで複数のコマンドを実行したい場合' '
ssh whoami@fe2 'sudo -s; service tomcat start; service tomcat status; other_commands; '
ssh
上記の順序ですべて実行されます。すべてのstdin
要求はコマンドサーバーから取得され、すべての出力stdout
もstderror
通過します。ssh