• 清除 Exchange 2013/2016/2019 日志和ETL文件


    Exchange Server  的2个日志目录会增长的很快,需要定时清理,不然C盘的空间很快就会吃光,以下这个powershell脚本就是用于清理目录下面的日志的,已在生产环境中测试过,没问题:

    Set-Executionpolicy RemoteSigned
    $days=0
    $IISLogPath="C:inetpublogsLogFiles"
    $ExchangeLoggingPath="C:Program FilesMicrosoftExchange ServerV15Logging"
    $ETLLoggingPath="C:Program FilesMicrosoftExchange ServerV15BinSearchCeresDiagnosticsETLTraces"
    $ETLLoggingPath2="C:Program FilesMicrosoftExchange ServerV15BinSearchCeresDiagnosticsLogs"
    Function CleanLogfiles($TargetFolder)
    {
        if (Test-Path $TargetFolder) {
            $Now = Get-Date
            $LastWrite = $Now.AddDays(-$days)
            $Files = Get-ChildItem $TargetFolder -Include *.log,*.blg, *.etl, *.txt -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
            foreach ($File in $Files)
                {Write-Host "Deleting file $File" -ForegroundColor "white"; Remove-Item $File -ErrorAction SilentlyContinue | out-null}
           }
    Else {
        Write-Host "The folder $TargetFolder doesn't exist! Check the folder path!" -ForegroundColor "white"
        }
    }
    CleanLogfiles($IISLogPath)
    CleanLogfiles($ExchangeLoggingPath)
    CleanLogfiles($ETLLoggingPath)
    CleanLogfiles($ETLLoggingPath2)

    以下这个powershell是修改版本,当用户没有对应的目录日志文件删除权限时也可以清理掉日志文件,如下:

    Set-Executionpolicy RemoteSigned
    $days=0
    $IISLogPath="C:inetpublogsLogFiles"
    $ExchangeLoggingPath="C:Program FilesMicrosoftExchange ServerV15Logging"
    $ETLLoggingPath="C:Program FilesMicrosoftExchange ServerV15BinSearchCeresDiagnosticsETLTraces"
    $ETLLoggingPath2="C:Program FilesMicrosoftExchange ServerV15BinSearchCeresDiagnosticsLogs"
    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 -Include *.log,*.blg, *.etl -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
            $Files = Get-ChildItem "C:Program FilesMicrosoftExchange ServerV15Logging"  -Recurse | Where-Object {$_.Name -like "*.log" -or $_.Name -like "*.blg" -or $_.Name -like "*.etl"}  | where {$_.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)

    具体可以参考链接:https://gallery.technet.microsoft.com/clear-exchange-2013-log-71abba44

  • 相关阅读:
    100道MySQL数据库经典面试题解析(收藏版)
    input()函数的进阶用法
    MySQL数据库面试题(2020最新版)
    mysql 1418错误_MySQL 错误1418 的原因分析及解决方法
    使用pymysql循环删除重复数据,并修改自增字段偏移值
    字典get方法和setdesault方法,统计message中各元素的出现频次
    Python中字典get方法的使用技巧
    collections模块
    python的30个编程技巧
    SQL中where与having的区别
  • 原文地址:https://www.cnblogs.com/reachos/p/9704959.html
Copyright © 2020-2023  润新知