Архив

Публикации с меткой ‘IIS’

Ротация логов IIS и Exchange

3 апреля 2015 1 комментарий

В один прекрасный день обнаружил что на системном томе сервера с установленным Exchange 2013 заканчивается место.
Всему причиной оказались логи как самого Exchаnge (не путать с журналами транзакций) так и, в основном, логи IIS.

Стандартной процедуры ротации логов в IIS не предусмотрено, поэтому воспользуемся небольшим скриптом на Powershell

Get-ChildItem -Path 'C:\inetpub\logs\LogFiles\*' -Include *.log -Recurse | Where-Object {$_.LastWriteTime -le [datetime]::Today.AddDays(-30)} | Remove-Item -Confirm:$false
Get-ChildItem -Path 'C:\Program Files\Microsoft\Exchange Server\V15\Logging\*' -Include *.log -Recurse | Where-Object {$_.LastWriteTime -le [datetime]::Today.AddDays(-30)} | Remove-Item -Confirm:$false
Get-ChildItem -Path 'C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\*' -Include *.log -Recurse | Where-Object {$_.LastWriteTime -le [datetime]::Today.AddDays(-30)} | Remove-Item -Confirm:$false

Первая строчка удаляет файлы с расширением *.log в папке «C:\inetpub\logs\LogFiles» и во всех вложеных папках которые не изменялись за последние 30 дней
Вторая тоже самое в папке «C:\Program Files\Microsoft\Exchange Server\V15\Logging»

Помещаем скрипт, например, в

C:\Scripts\LogsRotation.ps1

А в Tаsk Scheduler создаем задание выполнять каждый день

powershell.exe C:\Scripts\LogsRotation.ps1

В системе должен быть разрешен запуск неподписанных скриптов PowerShell

Set-ExecutionPolicy remotesigned

Скачать архив с скриптом и файлом импорта task Scheduler

Categories: Exchange Tags: , , ,