/ / JelasticでTomcatを自動的に再起動する-tomcat、tomcat7、jelastic

Tomcatを自動的にJelasticで再起動する - tomcat、tomcat7、jelastic

Dogado JelasticにTomcat 7インスタンスがありますクラウド(Jelasticプラットフォームのバージョンは2.5.2)。同様に、このTomcat 7インスタンスに2つのアプリケーションを毎晩デプロイするBambooもあります。アプリケーションのいくつかの問題により、メモリリークが発生し、しばらくするとアプリが破損します。そのため、この問題を解決するためにサーバーを定期的に再起動したいと思います(これは「良い修正ではありませんが、今のところはそれで十分」です)。 Tomcat 7を自動的に再起動する方法をいくつか見つけました。

  1. Jelastic REST APIの使用-認証とアクションの2つのリクエストを行う必要があります。
  2. cronタスク(jelastic管理パネルによって提供されます)を使用する-Jelasticは「新しく開始されたTomcat」のインスタンスを認識しないようです。

だから私は2つの質問があります:

  1. これらの2つの方法を簡素化する方法はありますか(たとえば、1回の呼び出しAPIリクエスト、またはcronタスクを使用してTomcatを再起動する正しい方法)?
  2. Tomcatを自動的に再起動する他の方法はありますか?

ありがとう!

回答:

回答№1は2

このコマンドをダッシュ​​ボード設定パネルからcron / tomcatに追加するだけです

0 * * * * /opt/tomcat/bin/shutdown.sh; /opt/tomcat/bin/startup.sh

tomcat7で問題なく動作します。


回答№2の場合は0

cronオプションの場合、rootユーザーからこれを行う必要があります(そのため、ダッシュボードを介してjelasticユーザーから行うと、期待どおりに機能しません)。

ただし、Dogadoは問題なくこのcronを設定できるはずです。この場合、これを最も簡単なソリューションとしてお勧めします。

API再起動オプションの難しさはあなたですおそらく他の場所から実行する必要があります(たとえば、環境内のcronを介して呼び出されるスクリプトではありません)。既に適切なシステム(たとえば、別の環境、または別の場所にあるサーバー)を持っている場合を除き、おそらく実行可能なアプローチではありません。

個人的には、APIが必要とすることも嫌いですJelasticのユーザー名/パスワードを使用して、すべての環境へのフルアクセスを許可します。たった1つのアクセス許可のみが必要な場合でも。共同編集者を作成し、それらと環境を共有し、そのユーザーを「APIユーザー」として扱うことで、潜在的にその制限を回避できます。