private static void diskmonitor()
{
string diskname, disktotal1;
long disktotal,diskfree;
string messages;
try
{
ManagementObjectSearcher query2=new ManagementObjectSearcher("select FreeSpace ,Size ,Name from Win32_LogicalDisk where DriveType=3");
foreach(ManagementObject Return in query2.Get ())
{
diskname= Return["Name"].ToString();
disktotal=Convert.ToInt64 ( Return["Size"] )/1024/1024;
disktotal1=disktotal.ToString();
diskfree=Convert.ToInt64 ( Return["FreeSpace"] )/1024/1024;
//Log.Write (AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString()+"runlog.log",diskname+" disktotal:"+disktotal.ToString ()+" diskfree:"+diskfree.ToString ());
// Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log","mobiletag5:"+ mobiletag5 .ToString ());
if (diskfree < (disktotal * LeastSpace) )
{
strConn1 = "User ID=" + dbuser + ";Password=" + dbpasswd + ";Initial Catalog=master;Data Source=" + dbip;
StoredProcedurename = "up_shrinkdblogfile";
Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "收缩日志");
ExecuteStoreProced(StoredProcedurename, strConn1);
Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "收缩日志成功");
messages = "磁盘报警 " + diskname + " diskfree:" + diskfree.ToString();
if(diskname==logfiledisk)
{
if (diskfree < 10000 & mobiletag5 >= 12)
{
Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "可用空间只剩:" + diskfree.ToString()+"M");
WebRequest request = WebRequest.Create("http://" + alarmserver + "/admin/MessageInterface/1/mobile/" + alarmmobile + "/" + servername.Replace("/r/n", "").Replace(" ", "") + "可用空间只剩" + diskfree.ToString() + "M");
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
// mobiletag5 = 0;
}
if (mobiletag5 >= 12)
{
// Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "http://" + alarmserver + "/admin/MessageInterface/1/email/" + alarmemail + "/空间报警^@" + servername.Replace("/r/n", "").Replace(" ", "") + "可用空间只剩" + diskfree.ToString() + "M");
WebRequest request1 = WebRequest.Create("http://" + alarmserver + "/admin/MessageInterface/1/email/" + alarmemail + "/空间报警^@" + servername.Replace("/r/n", "").Replace(" ", "") + "可用空间只剩" + diskfree.ToString() + "M");
request1.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse();
response1.Close();
Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "可用空间只剩:" + diskfree.ToString() + "M");
// Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "收缩日志");
mobiletag5 = 0;
}
//shrinkdblf();
//msCommand.Connection.Open();
//SQL1 = "exec up_shrinkdblogfile";
//Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log","收缩日志");
//DIRunSQL(strConn1, SQL1);
// Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "收缩日志成功");
}
}
}
mobiletag5 += 1;
query2.Dispose();
}
catch(Exception er)
{
Log.Write (AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString()+"runlog.log",er.ToString ());
strConn1 = "User ID=" + dbuser + ";Password=" + dbpasswd + ";Initial Catalog=master;Data Source=" + dbip;
StoredProcedurename = "up_shrinkdblogfile";
Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "收缩日志");
ExecuteStoreProced(StoredProcedurename, strConn1);
Log.Write(AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "runlog.log", "收缩日志成功");
}
}