Board logo

标题: 【练习题】VBS判断指定日志文件是否定时更新并发送邮件通知 [打印本页]

作者: Batcher    时间: 2009-10-3 20:26     标题: 【练习题】VBS判断指定日志文件是否定时更新并发送邮件通知

假设有一个应用程序C:\test.exe在不断地向日志文件C:\test.log里面写入运行记录、报错信息等。

要求写一个VBS脚本:每隔10分钟检测一次C:\test.log,如果发现该文件超过15分钟没有更新,就认为C:\test.exe死掉了,这时需要重启C:\test.exe,并发送邮件给指定用户batcher@bbs.bathome.net以实现报警功能。
作者: Seter    时间: 2009-10-3 20:31

有点问题...每隔10分钟检测一次,超过15分钟没有更新,那就是连续三次一样咯?(就是20分钟没有更新)
还是直接判断文件修改时间?
作者: Seter    时间: 2009-10-3 21:34

  1. On Error Resume Next
  2. Dim f,d
  3. Set f=CreateObject("Scripting.FileSystemObject").GetFile("C:\test.log")
  4. Do
  5. WScript.Sleep 600000
  6. d=DateDiff("n",f.DateLastModified,Now())
  7. If d>14 then
  8. CreateObject("WScript.Shell").Run "C:\test.exe"
  9. Send_mail
  10. End If
  11. Loop
  12. Sub Send_mail()
  13. MS_Space = "http://schemas.microsoft.com/cdo/configuration/"
  14. Set Email = CreateObject("CDO.Message")
  15. Email.From = "yonghuming@sina.com"
  16. Email.To = "batcher@bbs.bathome.net"
  17. Email.Subject = "报警"
  18. Email.Textbody = "报警啦报警啦!"
  19. With Email.Configuration.Fields
  20. .Item(MS_Space&"sendusing") = 2
  21. .Item(MS_Space&"smtpserver") = "smtp.sina.com"
  22. .Item(MS_Space&"smtpserverport") = 25
  23. .Item(MS_Space&"smtpauthenticate") = 1
  24. .Item(MS_Space&"sendusername") = "yonghuming"
  25. .Item(MS_Space&"sendpassword") = "mima"
  26. .Update
  27. End With
  28. Email.Send
  29. Set Email=Nothing
  30. End Sub
复制代码
VBS不是很懂,可?

[ 本帖最后由 Seter 于 2009-10-4 07:47 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2