LoginSignup
4
2

More than 3 years have passed since last update.

Windows IISのログを自動的に削除する

Posted at

WindowsのIISで、ログを削除する機能が標準ではありません。放置すると溜まり続け、Cドライブがいっぱいになり爆発します(ウソです)昔はタスクスケジュールでスクリプトを実行していたのですが、1行でできることが分かったので記事にします。

コマンド

forfiles /p "C:\inetpub\logs\LogFiles" /s /m *.* /c "cmd /c Del @path" /d -100
  • IISのログの場所は C:\inetpub\logs\LogFiles です。
  • 上の例では100日以上前のログを削除します。

タスクスケジュール登録

2020-0110-IIS-log.png

AddTask-Delete-IIS-Log.vbs
' タスクスケジューラでIISのログを自動削除
' 毎日午前2時、100日以上前

If WScript.Arguments.Count = 0 Then
    CreateObject("Shell.Application").ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ uac", "", "runas" 
    WScript.Quit  
End If

CreateObject("WScript.Shell").Exec("schtasks /create /tn ""Delete-IIS-Log"" /tr ""forfiles /p \""C:\inetpub\logs\LogFiles\"" /s /m *.* /c \""cmd /c Del @path\"" /d -100"" /sc DAILY /st 02:00 /ru System")
  • 上記を VBScript にしてダブルクリックすると、Delete-IIS-Log という名前のタスクスケジュールが登録されます。毎日午前2時に実行します。
  • 初めのコマンドは管理者権限で実行するためのものです。

まとめ

AWS EC2でWindowsサーバーを運用しています。オンプレなら気にしなかったのですが、EC2だとCドライブが40GB程度なので、すぐにいっぱいになります。やはり実運用では予期せぬことが起こります。早くWindowsサーバーから脱出せねば。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2