IISログの削除を自動化する

Windows ServerにはWebサーバーの役割として IIS (Internet Information Services)があります。


IIS は自作したWebアプリ公開用だけではなく、Exchange ServerやWSUSなどでも利用されています。

システム領域に十分なディスク容量を確保していない場合、IISログによってディスクが逼迫する恐れもありますので、必要に応じて定期的にログを削除する必要があります。


手動で運用するのは面倒なので、バッチファイルでの自動化をお勧めします。


今回はIISログ削除の自動化を紹介します。


1.バッチファイル

タスクスケジューラで下記の内容をバッチファイルとして実行します。


180日以前のIISログファイルを削除するという内容です。

@echo off
setlocal

rem IISログファイル格納パス
set LOGDIR1=C:\inetpub\logs\LogFiles\W3SVC1
set LOGDIR2=C:\inetpub\logs\LogFiles\W3SVC2

rem 削除対象期間
set DELDATE=180

rem #IISログファイル削除
forfiles /p %LOGDIR1% /m *. log /d -%DELDATE% /c “cmd /c del @path”
forfiles /p %LOGDIR2% /m *. log /d -%DELDATE% /c “cmd /c del @path”

exit /b 0



2.オプション解説

forfilesコマンドのオプションについて記載します。

  • /p:検索対象のパス

IISログのフォルダを指定します。

  • /m:検索対象のファイル

今回は「.log」拡張子のファイルを指定しています。

  • /d:日付

更新日が指定した日数より前のファイルを指定しています。上記の例だと180日前のファイルになります。

  • /c:実行コマンド

検索結果のファイルに対して実行する処理を指定します。今回は対象ファイルを「del」で削除しています。



IISログ削除の自動化は以上です。

コメント

タイトルとURLをコピーしました