- 締切済み
Apache・tomcat同時再起動シェルスクリプト作成
見よう見まねで初めて下記のシェルスクリプトを作成しました。 権限をrootに変更する文を追加したいのですが 良く解りません。ご教授よろしくお願い致します。 作成目的は、アプリプログラム反映時、一回のコマンド発行で起動を 行いたく作成しました。(面倒なので) #!/bin/bash # ############################################### # ## アプリサーバ二重化用手動再起動コマンド ### # ############################################### # ############## 環境設定 ####################### export PATH="/usr/local/apache2/bin" export CATALINA_HOME="/usr/local/tomcat" export JAVA_HOME="/usr/local/jdk1.5.0_10" export PATH="/usr/local/jdk1.5.0_10/bin" export TOMCAT_HOME="/usr/local/tomcat" # ############## 変数代入 ####################### # CMD1=`ps -ef | grep java | grep -v grep | wc -l` CMD2=`ps -ef | grep httpd | grep -v grep | wc -l` # ############## 停止コマンド発行 ############### # /usr/local/apache2/bin/apachectl stop if [ "$CMD2" -ge "1" ] ;then killall httpd /usr/local/tomcat/bin/shutdown.sh elif [ "$CMD2" = "0" ] ;then /usr/local/tomcat/bin/shutdown.sh fi # ############## 開始コマンド発行 ############### if [ "$CMD1" -ge "1" ] ;then killall java /usr/local/tomcat/bin/startup.sh elif [ "$CMD1" = "0" ] ;then /usr/local/tomcat/bin/startup.sh fi if [ "$CMD1" -ge "1" ] ;then /usr/local/apache2/bin/apachectl start elif [ "$CMD1" = "0" ] ;then /usr/local/tomcat/bin/startup.sh /usr/local/apache2/bin/apachectl start fi
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yukimican
- ベストアンサー率70% (112/159)
suコマンドでrootログイン sudoコマンドでroot権限でコマンド実行、です。 なので、 (1) シェルスクリプト実行時に sudo をつける $sudo sh (シェルススクリプト).sh (2) シェルスクリプトの最初で su コマンドを実行する (3) シェルスクリプトの /usr/~/apachectl や /usr/~/shutdown.sh の前にすべてsudoをつける のどれかでたぶんいけます。 su、sudoコマンドの詳細はmanかWeb検索で調べてください。
お礼
早々のレス有難う御座います。 sudo に実行権限等登録後、(1) で可能となりました。 yukimicanさん、有難う御座いました。