powershell抓取日志最后N行并提取包含错误关键字行信息

前言

最近公司的Qlik Sense项目有些异常情况,由于数据量巨大,需要跑9H以上,再windows下面是会有文件锁的意外情况的,一旦遇到file locked,则一方面需要看是什么文件锁了,另一方面重启对应的application服务(例如所有qlik服务)。 这里用了这个脚本来实现以下功能。

  • 多个目录抓取日志
  • 只抓取日志最后N行
  • 判断是否包含ERROR:的业务错误关键字

解决方案

echo "###################################################"
echo "#### 抓取日志最后10行并提取包含错误关键字行信息"
echo "#### by zhengkai.blog.csdn.net"
echo "###################################################"

[String]$today = (Get-Date).ToString("yyyy_MM_dd")
[String]$yesterday = (Get-Date).AddDays(-1).ToString("yyyy_MM_dd")

[String]$logPath11 = "\\central_node\QlikShare\ArchivedLogs\mechine_name\Script\*.$($today)*.log"
[String]$logPath12 = "\\central_node\QlikShare\ArchivedLogs\mechine_name\Script\*.$($yesterday)*.log"
[String]$logPath21 = "C:\ProgramData\Qlik\Sense\Log\Script\*.$($today)*.log"
[String]$logPath22 = "C:\ProgramData\Qlik\Sense\Log\Script\*.$($yesterday)*.log"

Get-Item -Path $logPath11,$logPath12,$logPath21,$logPath22 | Get-Content -Tail 10 | ForEach-Object {if($_ -match "ERROR"){echo "###### $($_)";}}

效果
在这里插入图片描述
错误信息

ERROR: FILE LOCKED , CANNOT PROCESSING IT

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页