很多
Exchange管理员都碰到一个令人头痛的问题:日志
文件霸占磁盘空间。磁盘空间是有限的,但是
Exchange只要在运行,日志
文件的产生就是无限的,虽然每个只有5M大小,但是日志
文件的产量很惊人的,大部分的磁盘空间都被日志
文件霸占了;也许有人会说,
微软在设计
Exchange的时候,提供了一个“启用循环日志”功能,但启用循环日志是冒险的做法(至于原因大家可以去搜搜)。没办法,谁让自己是
网络管理员,只有天天去看看磁盘空间还剩多少,是该改删除一些日志,该做备份了!
, L* s! T% Z2 U0 ~8 T! q- Y
在这里,介绍大家用AutoIt
脚本来监控日子所在盘符,如果所剩空间剩余(如600M),则发邮件提醒自己!
复制内容到剪贴板
代码:
#include "SmtpMailer.au3"
$var = Floor(DriveSpaceFree( "D:\" ))
;邮件配置
$s_SmtpServer = "smtp.***.com.cn" ;SMTP服务器
$s_FromName = "***" ;邮件发送人
$s_FromAddress = "****@***.com.cn" ;邮件发送者地址
$s_ToAddress = "****@***.com.cn" ;收件人地址
$s_Subject = "警告:空间剩余&$var&!" ;邮件标题
$as_Body = "" ;邮件正文
$s_AttachFiles = "" ;附件地址
$s_CcAddress = "" ;抄送地址
$s_BccAddress = "" ;密件抄送地址
$s_Username = "***" ;用户名
$s_Password = "***" ;密码
$IPPort = 25 ;发送端口,Gmail使用的发送端口为465
$ssl = 0
MsgBox(4096, "Free space on d:", $var & " MB")
If $var > 600 Then
Exit
Else
sendmail ()
EndIf
Func sendmail ()
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl)
If @error Then
MsgBox(0, "邮件发送失败", "错误代号:" & @error & " 描述:" & $rc)
EndIf
EndFuncSmtpMailer.au3 UDF函数可到
http://www.1msoft.com/column/UDF-hanshu/SmtpMailer_1.html 复制
8 L% ~* O, u3 O; O# n. I+ }+ ^; H$ }! U
编译好后,用
系统自带的任务计划,每3个小时运行一次即可
; @, ^ k/ s! J3 n! K( D
# I1 |) c$ u8 L) s, C3 h
此脚本还可以用在其它很多地方,另外建议用移动139邮箱接收,o(∩_∩)o...,可以免费收到短信通知!
P+ i1 J+ j- U+ n
0 }+ d# I6 _; F[
本帖最后由 zhuzb 于 2008-5-13 22:26 编辑 ]