Help us understand the problem. What is going on with this article?

Windows DNSサーバ デバッグログの安易な長時間保全

More than 3 years have passed since last update.

概要

Windows Server 2008 R2環境で、DNSサーバのデバッグログを有効にしたところ、
指定サイズに達した際、既存ログを破棄して0サイズから上書き開始する挙動となりました。

短時間のロギングでは問題ありませんが、そこそこの時間分を保全したい場合に困るので、
若干の取得漏れががあるものの、簡易に保全できる方法を共有します。

実現方法は以下の通り。

下記内容のバッチを作り、タスクスケジューラで一定間隔で繰り返し実行で強制切り替え
 (1) デバッグログを、タイムスタンプつけてコピー
 (2) dnscmdで、ログパスを再設定することで、デバッグログを0サイズから取得開始

注意

・切り替えタイミングで、処理の間だけデバッグログの取得漏れがあります。
(デバッグログのコピー開始から、dnscmdによるログパス再設定完了まで)
・漏れがない方法は、デバッグログ以外での対処が必要かもしれません。(詳細未調査。漏れがあるから、安易な方法扱いです)
ログ保存ドライブを逼迫させないよう注意してください。

具体的な手順

(1) 以下のバッチを用意

rotate_dnsdebuglog.bat
SET DT=%date:~-10,4%%date:~-5,2%%date:~-2,2%
SET TM=%time: =0%
SET TM=%TM:~0,2%%TM:~3,2%

copy "C:\dns.log" "C:\dns_%DT%_%TM%.log"
dnscmd /config /logfilepath "C:\dns.log"

(2) タスクスケジューラで、1日1回実行で、繰り返し実行を適当なタイミングで実行する。(30分間隔等)
image

fmfm29
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away