IIS 7 Log Files Auto Delete?

*爱你&永不变心* 提交于 2019-12-18 10:02:25

问题


Is there any feature in IIS 7 that automatically deletes the logs files older than a specified amt of days?

I am aware that this can be accomplished by writing a script(and run it weekly) or a windows service, but i was wondering if there is any inbuilt feature or something that does that.

Also, Currently we turned logging off as it is stacking up a large amount of space. Will that be a problem?


回答1:


You can create a task that runs daily using Administrative Tools > Task Scheduler.

Set your task to run the following command:

forfiles /p "C:\inetpub\logs\LogFiles" /s /m *.* /c "cmd /c Del @path" /d -7

This command is for IIS7, and it deletes all the log files that are one week or older.

You can adjust the number of days by changing the /d arg value.




回答2:


One line batch script:

forfiles /p C:\inetpub\logs /s /m *.log /d -14 /c "cmd /c del /q @file"

Modify the /d switch to change number of days a log file hangs around before deletion. The /s switch recurses subdirectories too.

Ref: http://debug.ga/iis-log-purging/




回答3:


Similar solution but in powershell.

I've set a task to run powershell with the following line as an Argument..

dir D:\IISLogs |where { ((get-date)-$_.LastWriteTime).days -gt 15 }| remove-item -force

It removes all files in the D:\IISLOgs folder older than 15 days.




回答4:


Another viable Powershell one-liner:

Get-ChildItem -Path c:\inetpub\logs\logfiles\w3svc*\*.log | where {$_.LastWriteTime -lt (get-date).AddDays(-180)} | Remove-Item -force

In case $_.LastWriteTime doesn't work, you can use $PSItem.LastWriteTime instead.

For more info and other suggestions to leverage the IIS LogFiles folder HDD space usage, I also suggest to read this blog post that I wrote on the topic.



来源:https://stackoverflow.com/questions/6919275/iis-7-log-files-auto-delete

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!