- centos 5系
$ ssh user@server sudo /usr/local/tomcat/bin/startup.sh sudo: sorry, you must have a tty to run sudo
どうやらttyがないとエラーになるらしいので以下のオプションをつける
$ ssh -t user@server sudo /usr/local/tomcat/bin/startup.sh
このままだとスタートアップしてもsshでログアウトするとTOMCATも終了してしまう
$ ssh -t use@server sudo nohup /usr/local/tomcat/bin/startup.sh
nohupを使うことによりログアウト後もTOMCATが終了しない
ちなみに/etc/sudoersは
root ALL=(ALL) ALL user ALL=NOPASSWD: /usr/bin/nohup /usr/local/tomcat/bin/startup.sh
さらにパスワードを入れるのが面倒な場合は
- remotestart.sh
#!/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
このシェルを実行