搜尋此網誌

2022年9月1日 星期四

exchange server 2013、2016、2019刪除Log的script

exchange server 2013、2016、2019 Log不會自己刪除,所以硬碟空間小的時候,就會出現一些錯誤event log,造成收信慢....等事

網路很多能人寫了一些script,Run一下就可以將硬碟空間清出來了,以下scrip可參考看看,還是要依自己的Log放在C或D碟,如不是在D:,請修改一下環境參數(下方黃色標示處)。

參考網址:

https://www.alitajran.com/cleanup-logs-exchange-2013-2016-2019/

https://torearnespro.wordpress.com/2015/10/06/delete-old-logs-on-exchange-servers/

# Set execution policy if not set

$ExecutionPolicy = Get-ExecutionPolicy

if ($ExecutionPolicy -ne "RemoteSigned") {

    Set-ExecutionPolicy RemoteSigned -Force

}


# Cleanup logs older than the set of days in numbers

$days = 120


# Path of the logs that you like to cleanup

$IISLogPath = "C:\inetpub\logs\LogFiles\"

$ExchangeLoggingPath = "D:\Program Files\Microsoft\Exchange Server\V15\Logging\"

$ETLLoggingPath = "D:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\"

$ETLLoggingPath2 = "D:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs\"

$ETLLoggingPath3= "D:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Temp\UnifiedContent"


# Clean the logs

Function CleanLogfiles($TargetFolder) {

    Write-Host -Debug -ForegroundColor Yellow -BackgroundColor Cyan $TargetFolder


    if (Test-Path $TargetFolder) {

        $Now = Get-Date

        $LastWrite = $Now.AddDays(-$days)

        $Files = Get-ChildItem $TargetFolder -Recurse | Where-Object { $_.Name -like "*.log" -or $_.Name -like "*.blg" -or $_.Name -like "*.etl" } | Where-Object { $_.lastWriteTime -le "$lastwrite" } | Select-Object FullName

        foreach ($File in $Files) {

            $FullFileName = $File.FullName  

            Write-Host "Deleting file $FullFileName" -ForegroundColor "yellow"; 

            Remove-Item $FullFileName -ErrorAction SilentlyContinue | out-null

        }

    }

    Else {

        Write-Host "The folder $TargetFolder doesn't exist! Check the folder path!" -ForegroundColor "red"

    }

}


Function CleanLogfiles1($TargetFolder) {

    Write-Host -Debug -ForegroundColor Yellow -BackgroundColor Cyan $TargetFolder


    if (Test-Path $TargetFolder) {

        $Now = Get-Date

        $LastWrite = $Now.AddDays(-$days)

        $Files = Get-ChildItem $TargetFolder -Recurse | Where-Object { $_.lastWriteTime -le "$lastwrite" } | Select-Object FullName

        foreach ($File in $Files) {

            $FullFileName = $File.FullName  

            Write-Host "Deleting file $FullFileName" -ForegroundColor "yellow"; 

            Remove-Item $FullFileName -ErrorAction SilentlyContinue | out-null

        }

    }

    Else {

        Write-Host "The folder $TargetFolder doesn't exist! Check the folder path!" -ForegroundColor "red"

    }

}


CleanLogfiles($IISLogPath)

CleanLogfiles($ExchangeLoggingPath)

CleanLogfiles($ETLLoggingPath)

CleanLogfiles($ETLLoggingPath2)

CleanLogfiles1($ETLLoggingPath3)

沒有留言:

張貼留言