windows设置定时清理iis服务器日志文件
有台windows服务器,运行asp.net的。每隔一段时间就会出现日志文件把硬盘撑爆的情况。
IIS日志默认存放在 C:\inetpub\logs\LogFiles,可以通过写脚本加 Windows 计划任务实现自动清理,完全可行,不影响 IIS 服务运行。推荐用 forfiles 命令按保留天数删除,比如只保留 15 天内的日志。
? 批处理脚本(最简单)
新建一个文本文件,粘贴以下内容,保存后把扩展名改成 .bat:
@echo off :: IIS日志目录 set log_dir="C:\inetpub\logs\LogFiles" :: 保留日志天数 set bak_dat=15 :: 删除指定天数前的日志 forfiles /p %log_dir% /S /M *.log /D -%bak_dat% /C "cmd /c del @file"
几点说明:
目录和天数可以自己改,15 就是只保留最近 15 天的日志。
/S 会遍历所有子文件夹(比如 W3SVC1、W3SVC2 这些站点目录),一次全清。
初次使用建议先手动跑一次,确认没报错再挂计划任务。
⏰ 配置计划任务自动执行
打开“服务器管理器” → 工具 → 任务计划程序。
右侧点击 创建任务,名称填“清理IIS日志”。
触发器 选项卡 → 新建 → 设置按每天执行,时间选凌晨低峰期(比如 02:00)。
操作 选项卡 → 新建 → 操作选“启动程序”,程序填脚本的完整路径,比如 C:\scripts\CleanIISLog.bat。
确认勾选“启用”,保存即可。