LinuxなどのUnix互換OSに比べると、どうしてもWindows系OSは定期的な再起動が必要になってしまう。
WindowsUpdateをすれば当然のように再起動が必要だし(まさかWindowsUpdateしないわけにもいかないでしょう?)、WEBアプリケーションでは簡単にメモリがリークしたりCPU使用率が100%のままになってしまったりする。
そこで思いつくのが、毎日深夜だとかにサーバを定期的に再起動させてやることである。
WinXP には標準で shutdown.exe があるのだが、あろうことか Win2K、Win2K Server には含まれていない。
Windows2000系では、マイクロソフトの「Windows2000 リソースキット」の中にある、「restart.vbs」を使用すれば、定期的にサーバ・PCを再起動することができる。
WindowsUpdateをすれば当然のように再起動が必要だし(まさかWindowsUpdateしないわけにもいかないでしょう?)、WEBアプリケーションでは簡単にメモリがリークしたりCPU使用率が100%のままになってしまったりする。
そこで思いつくのが、毎日深夜だとかにサーバを定期的に再起動させてやることである。
WinXP には標準で shutdown.exe があるのだが、あろうことか Win2K、Win2K Server には含まれていない。
Windows2000系では、マイクロソフトの「Windows2000 リソースキット」の中にある、「restart.vbs」を使用すれば、定期的にサーバ・PCを再起動することができる。
ファイルを手元にダウンロードしたら、テキストエディタを開き、
とだけ書かれたファイルを用意して、適当な名前を付けて保存する。
このとき、拡張子を「.bat」にしておくこと。
つぎにコマンドプロンプトを開き、ATコマンドを使用して定期的なジョブを設定する(タスクマネージャーでもいいんだけど、後述のIIS再起動の設定とか何度もくり返し設定するときにはすげーめんどくさい)。
「restart.vbs」と先ほど作成したバッチファイルがともにCドライブ直下に保存されている場合は、
のように入力する。
atコマンドを引数無しで指定すれば、スケジュールされたジョブの一覧を確認できる(「スタート」→「設定」→「コントロールパネル」→「タスク」の下にも「at+ジョブID」として追加される)。
cscript c:\restart.vbs /S 対象のホスト名 /R
とだけ書かれたファイルを用意して、適当な名前を付けて保存する。
このとき、拡張子を「.bat」にしておくこと。
つぎにコマンドプロンプトを開き、ATコマンドを使用して定期的なジョブを設定する(タスクマネージャーでもいいんだけど、後述のIIS再起動の設定とか何度もくり返し設定するときにはすげーめんどくさい)。
「restart.vbs」と先ほど作成したバッチファイルがともにCドライブ直下に保存されている場合は、
C:\>at 4:00 /every:M,T,W,Th,F,S,Su "c:\restart.bat"
のように入力する。
atコマンドを引数無しで指定すれば、スケジュールされたジョブの一覧を確認できる(「スタート」→「設定」→「コントロールパネル」→「タスク」の下にも「at+ジョブID」として追加される)。
コメントする