如何编写批处理文件错误/退货的免费通知?
-
02-07-2019 - |
题
我遇到停止服务并再次启动服务的问题,并希望在进程运行时收到通知,并让我知道结果是什么。
这是场景, 我有一个“sc”的文本文件输出。命令。我想发送该文件但不是附件。此外,我希望在电子邮件主题中快速查看初始状态。
这是'servstop.txt'文件内容:
[SC] StartService FAILED 1058:
也无法启动服务 因为它被禁用或因为它 没有与之关联的已启用设备 它
我希望电子邮件的主题是“提醒服务开始:[SC] StartService FAILED 1058” 并且正文包含上面的整个错误消息。
我将使用名为blat的程序将我当前的方法放在下面的答案中,以便向我发送结果。
解决方案
以下是我这样做的方式。 首先,我获得了 blat mail (公共域名smtp邮件程序)并将其放入d:\ blat目录。我的Exchange服务器允许我在没有id /密码的情况下发送电子邮件,并假设我是blat命令的“from”字段中的人。
@echo off
sc start Alerter >servstop.txt
SetLocal EnableDelayedExpansion
set content=
set subj=
for /F "delims=" %%i in (servstop.txt) do set content=!content! %%i
for /f "tokens=1 delims=:" %%s in ("%content%") do set subj=%%s
d:\blat\blat.exe -body "%content%" -to my-email@foo.bar -f my-email@foo.bar -server smtp.foo.bar -s "Alert Service Start:%subj% " -log d:\blat\blat.log
EndLocal
其他提示
Splunk 看起来很有希望。虽然没试过。网站上有关于索引和警报的两个区块引用。
索引:通过各种灵活的输入方法,您可以索引来自所有应用程序,服务器和网络设备的日志,配置,陷阱和警报,消息,脚本以及代码和性能数据。监视脚本和配置更改的文件系统,捕获存档文件,查找和拖尾实时应用程序日志,连接到网络端口以接收syslog,SNMP和其他基于网络的检测。这就是它开始的地方。
ALERT:任何搜索都可以按计划运行,并根据搜索结果触发通知或操作。而且因为它适用于不同的组件和技术,Splunk是您的武器库中最灵活的监控工具。通知可以通过电子邮件,RSS或SNMP发送到其他管理控制台。操作会触发执行用户描述的活动的脚本,例如重新启动应用程序,服务器或网络设备。