[ホーム] - [バッチファイル サンプル一覧] - [バッチの実行・停止の制御をサーバ側で制御する工夫]

バッチの実行・停止の制御をサーバ側で制御する工夫 | Windows バッチファイル






目的


Windows クライアント PC が多数ありそれぞれの上でバッチが動作するものとします。メンテナンスその他の理由でそれぞれの動作を中央で制御したい場合があります。
そんな場合にサーバ側で起動、停止を制御するアイディアを紹介します。


解決


クライアント側のバッチの動作をサーバ側で制御する一つの例を紹介します。
例えば性能検証でクライアント10台からサーバ側へ負荷をかけるバッチを実行する場合などです。一般的にはrsh,パワーシェル,sshなどのリモートコマンドを使用しますが、工夫してクライアント側のバッチの動作を制御することが可能です。

(1)サーバ側にテスト用のユーザ "testuser" を作成します。
(2)サーバ側で共有フォルダ(シェア)を作成します。例えば flag という共有フォルダを作成します。共有とその共有するフォルダに対して testuser に対して 読み込み権限のみ与えます。
(3)クライアント側で以下のバッチを作成します。


net use x: \\<サーバのipアドレス>\flag /user:testuser <testuserのパスワード>
:loop
if exist x:\flag.tx (call <実行したいバッチ>)
cscript batwait.vbs
goto loop



ここで先ほど作成した共有フォルダにファイル flag.txt を作成(中身は何でも良い)すれば、クライアント側で<実行したいバッチ>が実行されます。
逆にflag.txtを削除すれば、クライアント側は何もせずにループします。

batwait.vbsは以下の通り作成します。以下の例では5秒間 wait します。


WScript.sleep 5000








本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [バッチファイル サンプル一覧]