Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
待機サーバと同期する際の判断条件
01-22-2015, 06:28 PM
Post: #1
待機サーバと同期する際の判断条件
★point
sc コマンドでWindowsサービスの管理を行える


ある本番サーバ環境と、その待機サーバの間で、夜間バッチにて、データベースの同期をとる際、
単純に、本番のDBからエクスポートしたダンプファイルを、待機サーバに送り、インポートする、
つまり、単純に上書きをするとします。

しかし、もし障害が発生し、待機側のDBが「正しい」状態になっていたら、
本番サーバから上書きしてはいけないことになります。
その「上書きしていいかどうか」の判断として、
『本番サーバのサービス(ApacheTomcat)が動いて』いたら、
待機サーバが運用されているものとして、本番から上書きを行わない、
という方式を考えてみました。

この場合に、本番サーバから、待機サーバのサービスの状態を確認するには、
下記のようなコードでいけそうです。

Code:
@Echo Off
Call :DoesRunningService "1  STOPPED"
Call :DoesRunningService "4  RUNNING"
Exit /B
::--------------------------------------
::サービスの状態を確認をするサブルーチン
::--------------------------------------
:DoesRunningServic
    SET service=Tomcat7
    sc \\133.170.235.90 query %service% | FindStr -C:%1>NUL
    If ERRORLEVEL 1 ( Echo %service% : %1 NG ) Else (Echo %service% : %1 OK )
Exit /B

ちなみに、この「sc コマンド」は、サービスの状態だけでなく、
サービスの開始や停止なども行えます。


ちなみに、サービスのインストールは、
.NETのインストール用ユーティリティ(InstallUtil.exe)で、できるみたいです。


例:
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe" サービス名
Find all posts by this user
Quote this message in a reply
Post Reply 

Forum Jump:


User(s) browsing this thread:
1 Guest(s)