我有一些我正在观看的日志文件,我需要使用PowerShell,因为它是一个Windows服务器。我用来执行此操作的命令是:
Get-Content System.log -wait | {$_-match "some regex"}
我正在尝试在脚本中运行它,如果它发现我指定的正则表达式后面的日志文件有任何更改,请让它给我发电子邮件。使用bash和cron很容易做到这一点。我不确定PowerShell中的等价物是什么。以及我需要查找什么返回代码才能知道它是否找到了什么?
答案 0 :(得分:1)
你试过吗
Get-Content System.log -wait | {$_-match "some regex"} | foreach { send-email -message $_ }
我不知道在get-content -wait退出之前是否会通过管道输出结果,但是给它一个去吧。
至于将其作为服务运行,您可以从FireDaemon或SvrAny调用powershell脚本,但您也可以使用计划任务来继续重新启动脚本。