怎么定时清理服务器日志文件,【教程】利用Task Scheduler定期清理Exchange服务器日志...

当遇到服务器空间不足的情况,管理员一般选择以下方式来增加可用空间:

添加新的硬盘来扩大存储空间。

清理早期的日志来释放硬盘空间。

今天,我们在这里简单介绍一下第二种方案。

可以清理的日志以及清理日志的影响

可被清理的日志:

IIS日志:用户端访问IIS服务的记录

(连接时间,客户端IP,用户名,连接的用户等

);

Logging文件夹:Exchange各个组件工作情况及用户端连接日志,主要为Diagnostic,ETL,

HttpProxy,RpcHttp等;

诊断日志: Health Manager收集并记录系统运行状态的信息。

清理日志的影响:

日志用于记录服务/组件的活动状态,以及出现问题时追溯错误原因,如果删除日志,我们将无法获取该段时间中的这些信息。

如何使用Task Scheduler定期清理日志

第一部分:创建清理日志脚本

TechNet Gallery中提供了可以清理Exchange日志的脚本:Clear

Exchange 2013/2016/2019 Log & ETL Files,该脚本的作用为清理以下路径中*.log,*.blg, *.etl, *.txt格式的文件:

"C:\inetpub\logs\LogFiles\"

"C:\Program Files\Microsoft\Exchange Server\V15\Logging\"

"C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\"

"C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs"

以下为对该脚本的注释,以及运行前需要对该脚本进行的修改:

Set-Executionpolicy RemoteSigned

$days=60 #清理到距今天多少天前的日志。

$IISLogPath="C:\inetpub\logs\LogFiles\" #IIS日志的存储位置

$ExchangeLoggingPath="C:\Program Files\Microsoft\Exchange Server\V15\Logging\" #Exchange Logging文件夹位置

$ETLLoggingPath="C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\ETLTraces\" #ETLTraces存储位置

$ETLLoggingPath2="C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Diagnostics\Logs" #Diagnostics日志存储位置

Function CleanLogfiles($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 Files\Microsoft\Exchange Server\V15\Logging\" -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)

{Write-Host "Deleting file $File" -ForegroundColor "white"; Remove-Item $File.FullName -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)

第二部分:利用计划任务程序,实现自动清理日志

1. 通过服务器管理器(Server Manager)打开计划任务程序:

c3dc8a93a0db059c0fa9275e45a38e29.png

2. 点击新建任务并配置以下信息:

a. 常规:使用域管理员身份运行,并选择是否允许该任务在管理员未登录的时候运行

dd3f1aefa2f712f874e73c6d23492819.png

b. 触发器:选择运行该脚本的周期。

a5bf6b25fc94d0f138ee290c6f04bbdc.png

c. 操作:填写该计划任务需要处理的事件:

65d838cddcbd8da884218a6436e5af9a.png

3. 填写完成后,会有弹窗确认管理员身份,输入凭据即可:

5dcb64ddc104226be6db923c26fa7ec1.png

4. 完成后我们可以在计划任务程序界面查看该任务的状态:

c2448928ff9b64c794e3a02d218f0bdf.png

这样计划任务程序会按照设定好的时间运行该脚本,从而实现自动清理服务器往期日志的目的。

[关键词]:计划任务,Task Scheduler,日志清理,Exchange 日志,Exchange 2013,Exchange 2016, Exchange 2019

希望上述信息能够帮到您。如果您对此还有其他问题,欢迎随时来我们论坛提问 (点击文章页面左上角的“提出问题”按钮快速发帖),我们会帮助您进一步调查这个问题。

如果帖子有帮到您的话,请点击左上方“投票”按钮。这将帮助到阅读这个帖子的其他用户。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值