- centos 5系
1 2 | $ ssh user@server sudo /usr/local/tomcat/bin/startup.sh sudo: sorry, you must have a tty to run sudo |
どうやらttyがないとエラーになるらしいので以下のオプションをつける
1 | $ ssh -t user@server sudo /usr/local/tomcat/bin/startup.sh |
このままだとスタートアップしてもsshでログアウトするとTOMCATも終了してしまう
1 | $ ssh -t use@server sudo nohup /usr/local/tomcat/bin/startup.sh |
nohupを使うことによりログアウト後もTOMCATが終了しない
ちなみに/etc/sudoersは
1 2 | root ALL=(ALL) ALL user ALL=NOPASSWD: /usr/bin/nohup /usr/local/tomcat/bin/startup.sh |
さらにパスワードを入れるのが面倒な場合は
- remotestart.sh
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/sh restart(){ expect << Eof set timeout -1 spawn ssh -t user@host sudo nohup /usr/local/tomcat/bin/startup.sh match_max 100000 expect -exact "user@host's password: " send -- "password\r" expect eof Eof } restart |
このシェルを実行