最近一位朋友發我一張Exchange報錯的截圖,所最近這個錯誤一直反覆出現,讓我幫忙看一下。
經過截圖中的報錯信息,咱們能夠看到,‘DailyPerformanceLogs’這個文件夾已經達到了最大設置的值。而這個錯誤就是由Exchange Diagnostic service 認爲這有可能會有數據丟失,因此才拋出錯誤日誌。
分析到這裏咱們就能夠想到有兩種解決方法:運維
在平常Exchange運維中咱們可能遇到日誌把磁盤撐滿而致使系統出現問題,爲了不此種狀況,咱們須要對這些日誌文件進行管理。通常有的會使用備份軟件/工具把日誌備份。而對於沒有專業的備份軟件狀況下,咱們只能手動的去清理這些文件,而這樣會比較痛苦。
下面是我編寫的一個腳本能夠把它放在任務計劃中,天天定時執行,清理三天前的日誌
#----- Daily Performance Logs-----#
#----- define parameters -----#
#----- get current date ----#
$Now = Get-Date
#----- define amount of days ----#
$Days = "3"
#----- define folder where files are located ----#
$TargetFolder = "C:\Program Files\Microsoft\Exchange Server\V15\Logging\Diagnostics\DailyPerformanceLogs"
#----- define extension ----#
$Extension = "*.blg"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
Remove-Item $Fileside
#----- W3SVC1 Folder-----#
#----- define folder where files are located ----#
$TargetFolder1 = "C:\inetpub\logs\LogFiles\W3SVC1"
#----- define extension ----#
$Extension1 = "*.log"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
$Files1 = Get-Childitem $TargetFolder1 -Include $Extension1 -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
Remove-Item $Files1工具
#----- W3SVC2 Folder-----#
#----- define folder where files are located ----#
$TargetFolder2 = "C:\inetpub\logs\LogFiles\W3SVC2"
#----- define extension ----#
$Extension2 = "*.log"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
$Files2 = Get-Childitem $TargetFolder2 -Include $Extension2 -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
Remove-Item $Files2
性能