1.windows下对比两个文件内容,有差异则执行一个任务:

适用场景:比如你的数据库备份结果的日志每天会形成一个文件,如下图,你可以通过此脚本检测到文件的变化,并执行发送告警邮件通知你数据库备份异常。

windows下常用的几个批处理脚本

对比两个文件.bat

rem 检查Linux服务器上的异地备份情况并报警:yes.log为正常情况下的日志,如果新的日志和正常不符则报警。
rem 设置取当前的时间,格式:2018-02-06
set now=%Date:~0,4%-%Date:~5,2%-%Date:~8,2%
rem 当天的日志结果和标准日志对比,如一样则ok,如不同则触发邮件脚本“sendmillog.vbs”
fc /b %now%.log yes.log &&echo ok|| call sendmaillog.vbs

sendmaillog.vbs

'vbs发邮件 By 依梦琴瑶
 
'设置发信人邮箱地址
Sender = "xxxx.qq.com"

'设置发信人邮箱密码
Sender_PassWord = "xxxx"

'设置发信人邮箱SMTP服务器地址
Smtp = "smtp.xxx.net"

'设置SMTP服务器端口
Port = 25

'设置收信人邮箱地址
Receiver = "xxxx@qq.com"

'设置附件文件路径。
'Attachment = ""

'设置邮件主题
Subject = "数据备份异常"

'设置正文文本路径。
Text = "数据备份异常,请查看日志."

NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.From = Sender
Email.To = Receiver
Email.Subject = Subject
Email.Textbody = Text
'Email.AddAttachment Attachment
With Email.Configuration.Fields
    .Item(NameSpace&"sendusing") = 2
    .Item(NameSpace&"smtpserver") = Smtp
    .Item(NameSpace&"smtpserverport") = Port
    .Item(NameSpace&"smtpauthenticate") = 1
    .Item(NameSpace&"sendusername") = Sender
    .Item(NameSpace&"sendpassword") = Sender_PassWord
    .Item(NameSpace&"smtpconnectiontimeout") = 60
    .Update
End With
Email.Send
Set Email=Nothing
内容较长请展开查看

相关文章:

  • 2022-12-23
  • 2021-12-05
  • 2021-11-06
  • 2022-01-29
  • 2021-11-19
  • 2021-11-04
  • 2021-11-05
猜你喜欢
  • 2021-09-29
  • 2022-12-23
  • 2021-10-25
  • 2021-11-17
  • 2022-12-23
  • 2021-06-16
  • 2021-05-04
相关资源
相似解决方案