声明:博客内所有技术性文章都是由作者本人工作经验的总结, 实现过程中有搜索资料为参考的绝不涉嫌抄袭,均为个人习惯的总结。
今天要说的是用脚本实现用批处理命令监控网页状态,并发邮件通知。首先我们要先到http://down.51cto.com/data/660876或者http://www.webscreencapture.com下载一个小工具。以下为脚本内容:
@echo off
rem 以下为设置当前日期、当前时间和当前目录,并验证
set curdate=%date:~0,4%%date:~5,2%%date:~8,2%
set curtime=%time:~0,2%%time:~3,2%
set curdir=%~dp0
echo %curdate%
echo %curtime%
echo %curdir%
echo %curdate%%curtime%
rem 进入当前目录,在使用计划任务运行此脚本时候必须要的
cd /d %~dp0
rem 删除网站截图,并使用webscreencapture.exe产生新的,页面可以检查多个
del /s /q *.jpg
webscreencapture.exe "http://www.abcde.com.cn/RSpages/main.aspx" "abcde%curdate%%curtime%.jpg"
::webscreencapture.exe "www.baidu.com" "abcde%curdate%%curtime%.jpg"
rem 删除并产生新的邮件内容,这个文件也可以不用每次生成
del /s /q detail.txt
(
echo;abcde Web status report:
echo;Please refer to the p_w_upload for a screen capture of http://www.abcde.com.cn. If the majority of the contents are loaded, then website is stable.
echo;-- abcde Support
) > detail.txt
rem 删除并产生新的发邮件地址,也可以不每次生成
del /s /q *.vbs
(
echo;NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
echo;set Email = CreateObject^("CDO.Message"^)
rem 发件人地址
echo;Email.From = "DailySupport@abcde.com.cn"
rem 收件人地址,也可以是邮件分发组
echo;Email.To = "xqliu@abcde.com.cn"
rem 邮件的标题
echo;Email.Subject = "abcde Web status"
rem 邮件的内容,如果单独写vbs脚本这里需要绝对路径
echo;x="%curdir%detail.txt"
rem 邮件的附件,也就是上面的截图,我觉得应该可以添加多个附件
echo;y="%curdir%abcde%curdate%%curtime%.jpg"
echo;Set fso=CreateObject^("Scripting.FileSystemObject"^)
echo;Set myfile=fso.OpenTextFile^(x,1,Ture^)
echo;c=myfile.readall
echo;myfile.Close
echo;Email.Textbody = c
rem 如果上面添加多个附件,这里也需要加载多个
echo;Email.AddAttachment y
echo;with Email.Configuration.Fields
echo;.Item^(NameSpace^&"sendusing"^) = 2
rem 邮件服务器地址或域名
echo;.Item^(NameSpace^&"smtpserver"^) = "server.abcde.com.cn"
rem 邮件服务器端口号
echo;.Item^(NameSpace^&"smtpserverport"^) = 25
echo;.Item^(NameSpace^&"smtpauthenticate"^) = 1
rem 发件人的邮箱和密码
echo;.Item^(NameSpace^&"sendusername"^) = "DailySupport@abcde.com.cn"
echo;.Item^(NameSpace^&"sendpassword"^) = "8ik,9ol."
echo;.Update
echo;end with
echo;Email.Send
echo;Set Email=Nothing
) > script.vbs
rem 用批处理命令执行上面生成的vbs脚本
start wscript script.vbs
将以上内容保存为bat文件和上面下载的小工具放在一个文件夹里,根据注释说明更改成自己的东西,运行批处理不报错的话 就可以接收到一份带网站页面截图的邮件了。如果需要定时发的话就用windows的计划任务运行这个脚本
QQ 交流 群 221046788
转载于:https://blog.51cto.com/19840202/1118518