web-dev-qa-db-ja.com

Windows Server 2008 R2でソフトウェアサービスを再起動するタスクスケジューラを作成する方法

数週間ごとに失敗する厄介なソフトウェアサービスがあります。 2つのコンポーネントがあります。サービスAとサービスB。サービスBが異常な状態になり、サービスAからの接続の受け入れを停止します。解決策は、両方のサービスを手動で再起動するか、サーバーを再起動することです。

AとBのサービスの再起動を定期的にスケジュールしたいと思います。 24時間ごとに発声します。それについてどうやって行くのですか?

5
sebwinadmin

コメントの提案に従って、タイムアウト付きの適切な再起動シーケンスを含むバッチファイルを作成しました。サービス間の依存関係のため、タイムアウトが必要でした。タスクスケジューラを使用して、毎晩午前4時に管理者として実行するようにスケジュールしました。

net stop "Service B"
net stop "Service A"
timeout /T 10
net start "Service B"
timeout /T 10
net start "Service A"

これは理想的ではありませんが、このシナリオ(10ユーザー未満のリモートデスクトップ展開)には適しています。

3
sebwinadmin

破損または欠落する可能性があるbatファイルを作成する代わりに、multipleアクションを使用してスケジュールされたタスクを作成できます。サービスを停止する1つのアクションと、サービスを再起動する別のアクション。どちらもNETコマンドで実行されました。それらにSTOPおよびSTART引数を与え、その後にサービス名を続けます。

NET STOP "Service A" 
NET START "Service A"

こちら 方法を説明するStackOverflowの投稿。

Net Stop "ServiceName" && Net Start "ServiceName"

そして、あなたは一緒に&&を停止/開始ServiceBのためにチェーンすることができます

Net Stop "ServiceA" && Net Start "ServiceA" && Net Stop "ServiceB" && Net Start "ServiceB"

1
JLmar

Batファイルを作成して、bat内で次のようなことを試すことができます。

ネットストップ{serviceName}およびネットスタート{serviceName}

スケジュールされたタスクのプログラムとしてbatファイルを使用します。

0
Iman.G