Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何监视日志文件并在其停止时发送警报?_Windows_File_Powershell_Monitoring - Fatal编程技术网

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

Windows 如何监视日志文件并在其停止时发送警报?,windows,file,powershell,monitoring,Windows,File,Powershell,Monitoring,如果日志文件停止写入新行,是否有方法监视日志文件并发送警报(电子邮件) 您可以使用类似于.NET的计时器实例,并在计时器处理程序上检查文件的上次修改日期。您可以使用from.NET获取文件的上次修改日期。如果上次修改的日期足够长,则可以发送警报。下面是实现所需结果的powershell脚本。 脚本执行后,代码将每五分钟执行一次,除非powershell窗口关闭,否则无需在任务调度器中调度脚本 $LogFile = "C:\logs\mylogFile.log" while($true) {

如果日志文件停止写入新行,是否有方法监视日志文件并发送警报(电子邮件)

您可以使用类似于.NET的计时器实例,并在计时器处理程序上检查文件的上次修改日期。您可以使用from.NET获取文件的上次修改日期。如果上次修改的日期足够长,则可以发送警报。

下面是实现所需结果的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)
}

这是一个很好的想法,但实际上我在编码方面的背景很差,有人尝试过使用这个想法吗@丹尼尔