代码之家  ›  专栏  ›  技术社区  ›  Keng

如何编写批处理文件错误/返回的免费通知脚本?

  •  0
  • Keng  · 技术社区  · 16 年前

    我在停止一个服务并重新启动它时遇到问题,我希望在进程运行时得到通知,并让我知道结果是什么。

    下面是场景, 我有一个“sc”命令的文本文件输出。我想发送那个文件,但不是作为附件。另外,我想在电子邮件的主题中快速看到初始状态。

    以下是“servstop.txt”文件内容:

    [SC]StartService失败1058:

    服务也无法启动 因为它被禁用或因为它 没有与关联的已启用设备 它。

    我希望电子邮件的主题为“警报服务启动:[SC]StartService失败1058” 以及包含上面整个错误消息的正文。

    我将把我当前的方法放在下面的一个答案中,使用一个名为blat的程序将结果发送给我。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Keng    16 年前

    我就是这么做的。 首先我得到 blat mail (公共域SMTP邮件程序)并将其放到d:\blat目录中。我的Exchange服务器允许我在不使用ID/密码的情况下发送电子邮件,并假设我是blat命令的“发件人”字段中的人。

    @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
    
        2
  •  1
  •   Mackaaij    16 年前

    Splunk 看起来很有前途。不过还没试过。两个来自网站的关于下面索引和警报的blockquote。

    索引:通过各种灵活的输入方法,您可以索引来自所有应用程序、服务器和网络设备的日志、配置、陷阱和警报、消息、脚本以及代码和性能数据。监控文件系统的脚本和配置更改、捕获存档文件、查找和跟踪实时应用程序日志、连接到网络端口以接收系统日志、SNMP和其他基于网络的检测。这就是它开始的地方。

    警报:任何搜索都可以按计划运行,并根据搜索结果触发通知或操作。而且因为它跨不同的组件和技术工作,所以splunk是您的武器库中最灵活的监控工具。通知可以通过电子邮件、RSS或SNMP发送到其他管理控制台。操作触发执行用户描述的活动(如重新启动应用程序、服务器或网络设备)的脚本。