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ログ削除の自動化は以上です。
コメント