0

我有一些正在查看的日志文件,我需要使用 PowerShell 来执行此操作,因为它是一个 Windows 服务器。我用来执行此操作的命令是:

Get-Content System.log -wait | {$_-match "some regex"}

我正在尝试在脚本中运行它,如果它发现遵循我指定的正则表达式的日志文件有任何更改,请发送电子邮件给我。使用 bash 和 cron 很容易做到这一点。我不确定 PowerShell 中的等价物是什么。我需要寻找什么返回码才能知道它是否找到了什么?

4

1 回答 1

1

你有没有尝试过

Get-Content System.log -wait | {$_-match "some regex"} | foreach { send-email -message $_ }

我不知道 where 的结果是否会在 get-content -wait 退出之前通过管道传输,但试一试。

至于将其作为服务运行,您可以从 FireDaemon 或 SvrAny 调用 powershell 脚本,但您也可以使用计划任务来继续重新启动脚本。

于 2013-06-26T22:15:49.067 回答