1 つまたは 2 つの条件が満たされたら、サーバーを再始動します。

1 つまたは 2 つの条件が満たされたら、サーバーを再始動します。

私のスクリプトは両方の条件をチェックし、条件の1つまたは両方が満たされたら、サーバーを一度再起動する必要があります。しかし、どうすればいいのかわかりません。代わりに、サーバーを2回再起動するスクリプトを作成しました。実際、スクリプトは両方のファイルまたは1つ以上のファイルにコンテンツを追加した後にサーバーを再起動する必要があります。このスクリプトを完了するのに役立ちます。

#!/bin/bash

grep -q -F 'grant codeBase "file:/var/appdynamics/AppServerAgent/-"' /var/TomCat/tomcat/conf/catalina.policy

if [ $? -ne 0 ]; then

  echo '// AppDynamics permissions

grant codeBase "file:/var/appdynamics/AppServerAgent/-" {

permission java.security.AllPermission;

permission java.lang.RuntimePermission "getClassLoader";

};

' >> /var/TomCat/tomcat/conf/catalina.policy

  echo "Appdynamics code is successfully added to catalina.policy file"

  /var/TomCat/tomcat/bin/shutdown.sh ; sleep 10 ; /var/TomCat/tomcat/bin/startup.sh

else

  echo "Appdynamics code is already added on catalina.policy file"

fi



grep -q -F 'javaagent:/var/appdynamics/AppServerAgent/javaagent.jar' /var/TomCat/tomcat/bin/setenv.sh

if [ $? -ne 0 ]; then

    echo "export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/var/appdynamics/AppServerAgent/javaagent.jar -Dappdynamics.agent.applicationName=YOUR_APPNAME -Dappdynamics.agent.tierName=YOUR_TIERNAME -Dappdynamics.agent.nodeName=`hostname`""

    read -p "Enter the value for Dappdynamics.agent.applicationName : " n1

    read -p "Enter the value for Dappdynamics.agent.tierName= : " n2

    appname=$n1

    tiername=$n2

    echo 'export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/var/appdynamics/AppServerAgent/javaagent.jar -Dappdynamics.agent.applicationName='$appname' -Dappdynamics.agent.tierName='$tiername' -Dappdynamics.agent.nodeName=`hostname`"' >> /var/TomCat/tomcat/bin/setenv.sh

        /var/TomCat/tomcat/bin/shutdown.sh ; sleep 10 ; /var/TomCat/tomcat/bin/startup.sh

else

  echo "AppDynamics Environment variable is already set on setenv.sh"

fi

ベストアンサー1

フラグ変数を使用して、再起動が必要かどうかを確認できます。スクリプトの先頭で変数値を0に設定します。

restartFlag=0

次にif、ステートメントで条件が true と評価された場合、値を 1 に設定します。

if ...
    restartFlag=1

また、これら2つのステートメントから終了/開始コマンドを削除する必要がありますif

スクリプトの最後でフラグ変数の値を再確認し、再起動をトリガーします。

if [ $restartFlag -ne 0 ]; then
    /var/TomCat/tomcat/bin/shutdown.sh ; sleep 10 ; /var/TomCat/tomcat/bin/startup.sh
fi

おすすめ記事