如何监视日志文件并在其停止时发送警报?

时间:2017-02-08 10:20:08

标签: windows file powershell monitoring

如果文件停止写新行,是否有办法监控日志文件并发送警告(电子邮件)?

2 个答案:

答案 0 :(得分:0)

您可以使用.NET中的Timer等计时器实例,并在计时器处理程序上检查文件的上次修改日期。您可以使用.NET中的System.IO.File.GetLastWriteTime获取文件的上次修改日期。如果上次修改日期足够大,则可以发送警报。

答案 1 :(得分:0)

下面是powershell脚本,以实现所需的结果。 执行脚本后,除非关闭PowerShell窗口,否则每五分钟执行一次代码,不需要在任务调度程序中安排脚本。

$LogFile = "C:\logs\mylogFile.log"
while($true)
{
    $LastWriteTime = (Get-ChildITem $LogFile).LastWriteTime
    $CurrentTime = Get-Date
    $Diff = (New-TimeSpan -Start $LastWriteTime -End $CurrentTime).TotalMinutes
    If($Diff -gt 5)
    {
        #Send Email Alert if file not written from last 5 minutes or Alert That you want
    }

    sleep -Seconds (60*5)
}