|
服务器的检测报告回传本地用哪种方法好?
我想做一个检测服务器状态的au3,主要功能是1.检测CPU使用率2.检测内存使用率3.检测硬盘使用率4.检测SQL是否正常。并每天检测,明天回传。回传后整理,并统计在一起交给经理看。请问用什么样的回传方法比较好?
考虑用邮箱的话不好整理。而用ftp又怕本地的ftp有时会停掉。
源码如下,有什么不对的地方还请大家指教。
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\图标\优化图标\winxp\toolbar\Computer _ eMac _ Off.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=启动检测服务器的cpu使用率,内存使用率,硬盘使用率。需要配合计划任务使用。
#AutoIt3Wrapper_Res_Fileversion=3.3.0.2
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=p
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#Region AutoIt3Wrapper 预编译参数(常用参数)
;#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% ;自定义资源段
;#AutoIt3Wrapper_Run_Tidy= ;脚本整理
;#AutoIt3Wrapper_Run_Obfuscator= ;代码迷惑
;#AutoIt3Wrapper_Run_AU3Check= ;语法检查
;#AutoIt3Wrapper_Run_Before= ;运行前
;#AutoIt3Wrapper_Run_After= ;运行后
#EndRegion AutoIt3Wrapper 预编译参数(常用参数)
#cs ____________________________________
Au3 版本:
脚本作者:AC
Email:guojimail@gmail.com
QQ/TM:651420196
脚本版本:
脚本功能:
1.检测CPU使用率
2.检测内存使用率
3.检测硬盘使用率
主体程序已经完成,将这个放在计划任务中每小时执行一次。
有待完成
1.检测SQL是否正常
2.将检测的数据回传
3.将系统日志回传
4.提醒每天是否有回传(用于检测软件是否正常运行)
5.测试是否对服务器的稳定工作有妨碍
#ce _______________脚本开始_________________
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=D:\Personal\Desktop\CPU_RAM.kxf
Local $rCPU, $rRAM
$rCPU = CurrentCPURate()
$rRAM = CurrentRAMRate()
;#include <SmtpMailer.au3>
ypkj()
$a =1
While $a<=21
Sleep(1000)
$sxdx = @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & ":" & @MIN & ":" & @SEC
IniWrite(@ScriptDir & "\服务器状态.ini", "cpu占用率", "检测时间 " & $sxdx, "cpu占用率为 " & $rCPU)
IniWrite(@ScriptDir & "\服务器状态.ini", "内存占用量", "检测时间 " & $sxdx, "内存使用量为 " & $rRAM)
$a=$a+1
WEnd
Func CurrentCPURate()
$wbemServices = ObjGet("winmgmts:\\.\root\cimv2")
$wbemObjectSet = $wbemServices.ExecQuery("Select * from Win32_Processor")
For $wbemObject In $wbemObjectSet
$dd = $wbemObject.LoadPercentage
Next
Return $dd
EndFunc ;==>CurrentCPURate
Func CurrentRAMRate()
Local $Array[7]
$Array = MemGetStats()
Return $Array[1]
EndFunc ;==>CurrentRAMRate
Func ypkj()
$cppf = DriveGetDrive("FIXED")
$sxdx = @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & ":" & @MIN & ":" & @SEC
If Not @error Then
For $i = 1 To $cppf[0]
Local $pf,$dif
$begin = TimerInit()
$pf = $cppf[$i]
$kj = DriveSpaceTotal($pf & "\")
$kykj = DriveSpaceFree($pf & "\")
$dif = TimerDiff($begin)
IniWrite(@ScriptDir & "\服务器状态.ini", "磁盘空间" , $i&"检测时间 "& $sxdx, $pf & "盘 全部空间为: " & $kj & " 可用空间为: " & $kykj)
Next
EndIf
EndFunc ;==>CurrentRAMRate |
|