以前写过定期删除IIS旧日志释放磁盘空间的命令,通过windows自带的调度任务执行cmd就可以删除日志文件,bat命令如下。
@echo off title 演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件 ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。 ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。 ::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持 rem 指定待删除文件的存放路径 set SrcDir=C:\inetpub\logs\LogFiles rem 指定天数 set DaysAgo=7 forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path"
但是如果已经知道某个日志文件有异常,比方说这个站点日志文件 每天1.3G,怎么去定位日志对应的网站呢?
(这个日志文件大,是因为回调特别频繁,1秒100多次)
既然知道问题,那么就好定位问题了
以下转自 https://shiyousan.com/post/636240709447985366
这几天手上的Windows Server服务器在做维护,遇到需要查看IIS服务器上每个网站的日志,想起很早以前遇到这个问题也是懵逼,于是写个笔记记录下这个小知识点。其实主要的问题就是要理解W3SVC日志文件夹中序号的含义,挺简单的,格式就是W3SVC+网站ID。
IIS默认的日志设置是每个网站对应一个日志文件(当然你也可以设置整个服务器就一个日志文件),具体可以打开根服务器节点的日志图标查看设置:
基本上每个网站存放日志的文件夹名称都是以W3SVC开头,区别在于后面的ID/编号/序号,对应的是网站各自的ID。打开日志的存放目录,名称格式一目了然:
其中W3SVC1、W3SVC2、W3SVC3…分别对应网站ID为1、2、3的网站日志,打开IIS管理器下的根服务器节点,选择网站,在右侧列表中就可以查看网站的ID:
另外贴下日志文件夹中的log文件,默认是每天记录一个log文件,可以根据自己的需求设置,名称格式包含日期,也是比较容易看明白: