none
IIS的u_extend1日志文件很大,怎么删除或者重建? RRS feed

  • 問題

  • windows2012R2+exchange2013CU23

    已经把IIS站点日志设置为不保存日志,结果还是发现C盘空间不足,检查后,u_extend1日志文件的容量达到几十G,而且无法删除,报错:在system中已经打开

    请问怎么处理

    2019年8月24日 上午 01:27

解答

  • 方法一(应该管用):朋友,首先你要先打开services.msc,然后在控制面板中停用IIS和web服务(如果你有站点也在托管状态),然后再进行u_extend1.log日志的删除。

    ps:朋友有没有配置Microsoft记录的日志记录选项,里面选定不记录iis日志。

    方法二(备选):祭出Process Explorer v16.26 下面的连接就是下载地址,查找是那个进程占用着日志文件,kill掉,在回头来删除。

    https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

    方法三(powershell脚本管理):设置清除超过N天(30,90,180)的日志文件。下列范例为180天

    # Script to be run weekly by task scheduler to cleanup IIS log files older than 180 days old.
    $start = (get-date).AddDays(-180) 
    Get-ChildItem -Path c:\inetpub\logs\logfiles\w3svc*\*.log | where {$PSItem.LastWriteTime -lt $start} | Remove-Item

    如果$PSItem.LastWriteTime字段报错,你就改成$_.LastWriteTime

    在提供一个批处理脚本,也是180天,注意下路径

    :: delete IIS files older than 180 days
    :: -s or /S : recurse into all subfolders
    :: -p or /P : path
    :: -m or /M : file mask
    :: -d or /D : number of days (-30 = older than 30 days)
    :: -c or /C : command to execute
    forfiles -p C:\inetpub\logs\LogFiles\ -s -m *.log -d -180 -c "cmd /C DEL @File"

    2019年8月24日 上午 03:30

所有回覆

  • 方法一(应该管用):朋友,首先你要先打开services.msc,然后在控制面板中停用IIS和web服务(如果你有站点也在托管状态),然后再进行u_extend1.log日志的删除。

    ps:朋友有没有配置Microsoft记录的日志记录选项,里面选定不记录iis日志。

    方法二(备选):祭出Process Explorer v16.26 下面的连接就是下载地址,查找是那个进程占用着日志文件,kill掉,在回头来删除。

    https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

    方法三(powershell脚本管理):设置清除超过N天(30,90,180)的日志文件。下列范例为180天

    # Script to be run weekly by task scheduler to cleanup IIS log files older than 180 days old.
    $start = (get-date).AddDays(-180) 
    Get-ChildItem -Path c:\inetpub\logs\logfiles\w3svc*\*.log | where {$PSItem.LastWriteTime -lt $start} | Remove-Item

    如果$PSItem.LastWriteTime字段报错,你就改成$_.LastWriteTime

    在提供一个批处理脚本,也是180天,注意下路径

    :: delete IIS files older than 180 days
    :: -s or /S : recurse into all subfolders
    :: -p or /P : path
    :: -m or /M : file mask
    :: -d or /D : number of days (-30 = older than 30 days)
    :: -c or /C : command to execute
    forfiles -p C:\inetpub\logs\LogFiles\ -s -m *.log -d -180 -c "cmd /C DEL @File"

    2019年8月24日 上午 03:30
  • 多谢你的回复

    方法二找不到这个进程。。。

    方法三应该是删除每日的IIS log文件吧,每日LOG文件应该是没有,因为之前已经禁用了IIS日志


    • 已編輯 杜卫华 2019年8月27日 上午 06:13
    2019年8月27日 上午 06:13
  • Hi ,

    请问是否有尝试过kamigao的第一个方案? 停用IIS服务和WEB服务,然后再执行删除。

    如果不奏效的话,报错是什么?如果依旧显示的文件被占用的话,就像kamigao所说的我们需要通过Process Explorer去查看是哪个进程在占用。

    Find->File Handle or DLL中输入对应的文件名,是什么显示结果?

    此致

    Candy



    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   


    2019年8月27日 上午 06:43
    版主
  • Hi ,

    目前问题有什么新的进展吗?

    此致

    Candy


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    2019年8月28日 上午 02:23
    版主
  • Hi ,

    若您的问题已经解决且回复对您有所帮助,您可以把有用的回复标记为答复,我们将暂停对此贴的追踪。

    此致

    Candy


    Please remember to mark the replies as an answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com   

    2019年8月30日 上午 02:16
    版主
  • 可以了,还需要停用Exchange诊断服务,就能删除该日志文件
    2019年9月9日 上午 03:49