Windowsイベントログ②(ログ自動削除)
こんにちは。技術部のKです。
今回は前回に引き続きWindowsのログ関連のお話です。
前回、イベントログのローテート方法について簡単にご紹介しました。
Windowsイベントログ(ローテート、出力先変更)
https://www.netassist.ne.jp/techblog/30131/
ローテートはできましたが自動で削除する機能まで無いので、
定期削除のタスクスケジューラ設定やバッチファイル等での実装が必要、とお伝えしました。
とにかく簡単で分かりやすい方法ということで、
タスクスケジューラで、forfilesコマンドを使用して自動削除を実現する方法をご紹介します。
forfilesコマンドはLinuxでいうfindコマンドに近く、
指定した条件に合致するファイルに対して処理を行うコマンドとなります。
このような形でタスクスケジューラに設定してみました。
以下、コマンドの解説になります。
/p “C:\Windows\System32\winevt\Logs” /s /m *.evtx /D -180 /C “cmd /c del @path”
拡張子が *.evtx で、180日以前のファイル を削除するコマンドです。
オプションはこんな感じです
/p … ファイルが存在するパス。
/s … サブディレクトリに対してもコマンドを実行します。
/m … 検索したいファイル名。*でワイルドカードとなります。
/D … 日付。最終更新日です。”-180″で最終更新日が180日以前となります。
/C … 実行するコマンド。
簡単ですが、この設定で無限にログを保持することなく、保持したい日数でログの自動削除がなされます。
なにかお困りごとがありましたら弊社までご相談ください!
どうぞ今後ともネットアシストをよろしくお願い致します。