Подтвердить что ты не робот

Файлы журнала IIS 7 Auto Delete?

Есть ли какая-либо функция в IIS 7, которая автоматически удаляет файлы журналов старше указанного количества дней?

Я знаю, что это можно сделать, написав script (и запустив его еженедельно) или службу Windows, но мне было интересно, есть ли какая-либо встроенная функция или что-то, что это делает.

Кроме того, в настоящее время мы отключились, так как он складывает большое количество пространства. Будет ли это проблемой?

4b9b3361

Ответ 1

Вы можете создать задачу, которая выполняется ежедневно с помощью "Администрирование" > "Планировщик заданий".

Задайте задачу для выполнения следующей команды:

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

Эта команда предназначена для IIS7, и она удаляет все файлы журналов, которые являются неделями и старше.

Вы можете настроить количество дней, изменив значение /d arg.

Ответ 2

Одна партия строк script:

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

Измените параметр /d, чтобы изменить количество дней, когда файл журнала зависает перед удалением. Параметр /s также подгружает подкаталоги.

Ссылка: http://debug.ga/iis-log-purging/

Ответ 3

Аналогичное решение, но в powershell.

Я установил задачу для запуска powershell со следующей строкой в ​​качестве аргумента.

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

Он удаляет все файлы в папке D:\IISLOgs старше 15 дней.

Ответ 4

Другой жизнеспособный однослойный Powershell:

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

В случае, если $_.LastWriteTime не работает, вы можете использовать $PSItem.LastWriteTime вместо этого.

Для получения дополнительной информации и других рекомендаций по использованию дискового пространства для дискового пространства IIS LogFiles, я также предлагаю прочитать этот пост.